[要約] RFC 3253はWebDAVのバージョニング拡張に関する規格であり、バージョン管理とリビジョン制御を提供することを目的としています。

Network Working Group                                           G. Clemm
Request for Comments: 3253                             Rational Software
Category: Standards Track                                      J. Amsden
                                                              T. Ellison
                                                                     IBM
                                                                C. Kaler
                                                               Microsoft
                                                            J. Whitehead
                                                         U.C. Santa Cruz
                                                              March 2002
        

Versioning Extensions to WebDAV (Web Distributed Authoring and Versioning)

WebDAVのバージョン管理拡張機能(Web分散オーサリングとバージョン管理)

Status of this Memo

本文書の状態

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

このドキュメントは、インターネットコミュニティのインターネット標準トラックプロトコルを指定し、改善のための議論と提案を要求します。このプロトコルの標準化状態とステータスについては、「インターネット公式プロトコル標準」(STD 1)の最新版を参照してください。このメモの配布は無制限です。

Copyright Notice

著作権表示

Copyright (C) The Internet Society (2002). All Rights Reserved.

Copyright(C)The Internet Society(2002)。全著作権所有。

Abstract

概要

This document specifies a set of methods, headers, and resource types that define the WebDAV (Web Distributed Authoring and Versioning) versioning extensions to the HTTP/1.1 protocol. WebDAV versioning will minimize the complexity of clients that are capable of interoperating with a variety of versioning repository managers, to facilitate widespread deployment of applications capable of utilizing the WebDAV Versioning services. WebDAV versioning includes automatic versioning for versioning-unaware clients, version history management, workspace management, baseline management, activity management, and URL namespace versioning.

このドキュメントでは、HTTP / 1.1プロトコルに対するWebDAV(Web Distributed Authoring and Versioning)バージョン管理拡張機能を定義する一連のメソッド、ヘッダー、およびリソースタイプを指定します。 WebDAVバージョニングは、さまざまなバージョニングリポジトリマネージャと相互運用できるクライアントの複雑さを最小限に抑え、WebDAVバージョニングサービスを利用できるアプリケーションの広範な展開を容易にします。 WebDAVバージョン管理には、バージョン管理非対応クライアントの自動バージョン管理、バージョン履歴管理、ワークスペース管理、ベースライン管理、アクティビティ管理、およびURL名前空間のバージョン管理が含まれます。

Table of Contents

目次

   1 Introduction....................................................  6
   1.1 Relationship to WebDAV........................................  7
   1.2 Notational Conventions........................................  8
   1.3 Terms.........................................................  8
   1.4 Property Values............................................... 11
    1.4.1 Initial Property Value..................................... 11
        
    1.4.2 Protected Property Value................................... 12
    1.4.3 Computed Property Value.................................... 12
    1.4.4 Boolean Property Value..................................... 12
    1.4.5 DAV:href Property Value.................................... 12
   1.5 DAV Namespace XML Elements.................................... 12
   1.6 Method Preconditions and Postconditions....................... 12
    1.6.1 Example - CHECKOUT request................................. 13
   1.7 Clarification of COPY Semantics with Overwrite:T.............. 13
   1.8 Versioning Methods and Write Locks............................ 14
   2 Basic Versioning Features....................................... 14
   2.1 Basic Versioning Packages..................................... 14
   2.2 Basic Versioning Semantics.................................... 16
    2.2.1 Creating a Version-Controlled Resource..................... 16
    2.2.2 Modifying a Version-Controlled Resource.................... 17
    2.2.3 Reporting.................................................. 19
   3 Version-Control Feature......................................... 20
   3.1 Additional Resource Properties................................ 20
    3.1.1 DAV:comment................................................ 20
    3.1.2 DAV:creator-displayname.................................... 20
    3.1.3 DAV:supported-method-set (protected)....................... 20
    3.1.4 DAV:supported-live-property-set (protected)................ 21
    3.1.5 DAV:supported-report-set (protected)....................... 21
   3.2 Version-Controlled Resource Properties........................ 21
    3.2.1 DAV:checked-in (protected)................................. 21
    3.2.2 DAV:auto-version........................................... 22
   3.3 Checked-Out Resource Properties............................... 22
    3.3.1 DAV:checked-out (protected)................................ 23
    3.3.2 DAV:predecessor-set........................................ 23
   3.4 Version Properties............................................ 23
    3.4.1 DAV:predecessor-set (protected)............................ 23
    3.4.2 DAV:successor-set (computed)............................... 23
    3.4.3 DAV:checkout-set (computed)................................ 23
    3.4.4 DAV:version-name (protected)............................... 24
   3.5 VERSION-CONTROL Method........................................ 24
    3.5.1 Example - VERSION-CONTROL.................................. 25
   3.6 REPORT Method................................................. 25
   3.7 DAV:version-tree Report....................................... 26
    3.7.1 Example - DAV:version-tree Report.......................... 27
   3.8 DAV:expand-property Report.................................... 29
    3.8.1 Example - DAV:expand-property.............................. 30
   3.9 Additional OPTIONS Semantics.................................. 31
   3.10 Additional PUT Semantics..................................... 31
   3.11 Additional PROPFIND Semantics................................ 32
   3.12 Additional PROPPATCH Semantics............................... 33
   3.13 Additional DELETE Semantics.................................. 33
   3.14 Additional COPY Semantics.................................... 34
   3.15 Additional MOVE Semantics.................................... 34
   3.16 Additional UNLOCK Semantics.................................. 35
        
   4 Checkout-In-Place Feature....................................... 35
   4.1 Additional Version Properties................................. 35
    4.1.1 DAV:checkout-fork.......................................... 36
    4.1.2 DAV:checkin-fork........................................... 36
   4.2 Checked-Out Resource Properties............................... 36
    4.2.1 DAV:checkout-fork.......................................... 36
    4.2.2 DAV:checkin-fork........................................... 37
   4.3 CHECKOUT Method............................................... 37
    4.3.1 Example - CHECKOUT......................................... 38
   4.4 CHECKIN Method................................................ 38
    4.4.1 Example - CHECKIN.......................................... 40
   4.5 UNCHECKOUT Method............................................. 40
    4.5.1 Example - UNCHECKOUT....................................... 41
   4.6 Additional OPTIONS Semantics.................................. 42
   5 Version-History Feature......................................... 42
   5.1 Version History Properties.................................... 42
    5.1.1 DAV:version-set (protected)................................ 42
    5.1.2 DAV:root-version (computed)................................ 42
   5.2 Additional Version-Controlled Resource Properties............. 42
    5.2.1 DAV:version-history (computed)............................. 43
   5.3 Additional Version Properties................................. 43
    5.3.1 DAV:version-history (computed)............................. 43
   5.4 DAV:locate-by-history Report.................................. 43
    5.4.1 Example - DAV:locate-by-history Report..................... 44
   5.5 Additional OPTIONS Semantics.................................. 45
   5.6 Additional DELETE Semantics................................... 46
   5.7 Additional COPY Semantics..................................... 46
   5.8 Additional MOVE Semantics..................................... 46
   5.9 Additional VERSION-CONTROL Semantics.......................... 46
   5.10 Additional CHECKIN Semantics................................. 47
   6 Workspace Feature............................................... 47
   6.1 Workspace Properties.......................................... 48
    6.1.1 DAV:workspace-checkout-set (computed)...................... 48
   6.2 Additional Resource Properties................................ 48
    6.2.1 DAV:workspace (protected).................................. 48
   6.3 MKWORKSPACE Method............................................ 48
    6.3.1 Example - MKWORKSPACE...................................... 49
   6.4 Additional OPTIONS Semantics.................................. 49
    6.4.1 Example - OPTIONS.......................................... 51
   6.5 Additional DELETE Semantics................................... 51
   6.6 Additional MOVE Semantics..................................... 52
   6.7 Additional VERSION-CONTROL Semantics.......................... 52
    6.7.1 Example - VERSION-CONTROL.................................. 53
   7 Update Feature.................................................. 53
   7.1 UPDATE Method................................................. 53
    7.1.1 Example - UPDATE........................................... 55
   7.2 Additional OPTIONS Semantics.................................. 55
   8 Label Feature................................................... 56
        
   8.1 Additional Version Properties................................. 56
    8.1.1 DAV:label-name-set (protected)............................. 56
   8.2 LABEL Method.................................................. 56
    8.2.1 Example - Setting a label.................................. 58
   8.3 Label Header.................................................. 58
   8.4 Additional OPTIONS Semantics.................................. 59
   8.5 Additional GET Semantics...................................... 59
   8.6 Additional PROPFIND Semantics................................. 59
   8.7 Additional COPY Semantics..................................... 60
   8.8 Additional CHECKOUT Semantics................................. 60
   8.9 Additional UPDATE Semantics................................... 61
   9 Working-Resource Feature........................................ 62
   9.1 Additional Version Properties................................. 62
    9.1.1 DAV:checkout-fork.......................................... 62
    9.1.2 DAV:checkin-fork........................................... 63
   9.2 Working Resource Properties................................... 63
    9.2.1 DAV:auto-update (protected)................................ 63
    9.2.2 DAV:checkout-fork.......................................... 63
    9.2.3 DAV:checkin-fork........................................... 63
   9.3 CHECKOUT Method (applied to a version)........................ 63
    9.3.1 Example - CHECKOUT of a version............................ 65
   9.4 CHECKIN Method (applied to a working resource)................ 65
    9.4.1 Example - CHECKIN of a working resource.................... 66
   9.5 Additional OPTIONS Semantics.................................. 67
   9.6 Additional COPY Semantics..................................... 67
   9.7 Additional MOVE Semantics..................................... 67
   10  Advanced Versioning Features.................................. 67
   10.1 Advanced Versioning Packages................................. 68
   10.2 Advanced Versioning Terms.................................... 68
   11  MERGE Feature................................................. 70
   11.1 Additional Checked-Out Resource Properties................... 70
    11.1.1 DAV:merge-set............................................. 70
    11.1.2 DAV:auto-merge-set........................................ 71
   11.2 MERGE Method................................................. 71
    11.2.1 Example - MERGE........................................... 74
   11.3 DAV:merge-preview Report..................................... 75
    11.3.1 Example - DAV:merge-preview Report........................ 76
   11.4 Additional OPTIONS Semantics................................. 77
   11.5 Additional DELETE Semantics.................................. 77
   11.6 Additional CHECKIN Semantics................................. 77
   12  Baseline Feature.............................................. 77
   12.1 Version-Controlled Configuration Properties.................. 78
    12.1.1 DAV:baseline-controlled-collection (protected)............ 78
   12.2 Checked-Out Configuration Properties......................... 78
    12.2.1 DAV:subbaseline-set....................................... 78
   12.3 Baseline Properties.......................................... 78
    12.3.1 DAV:baseline-collection (protected)....................... 79
    12.3.2 DAV:subbaseline-set (protected)........................... 79
        
   12.4 Additional Resource Properties............................... 79
    12.4.1 DAV:version-controlled-configuration (computed)........... 79
   12.5 Additional Workspace Properties.............................. 80
    12.5.1 DAV:baseline-controlled-collection-set (computed)......... 80
   12.6 BASELINE-CONTROL Method...................................... 80
    12.6.1 Example - BASELINE-CONTROL................................ 82
   12.7 DAV:compare-baseline Report.................................. 84
    12.7.1 Example - DAV:compare-baseline Report..................... 85
   12.8 Additional OPTIONS Semantics................................. 86
   12.9 Additional MKCOL Semantics................................... 86
   12.10 Additional COPY Semantics................................... 86
   12.11 Additional CHECKOUT Semantics............................... 86
   12.12 Additional CHECKIN Semantics................................ 86
   12.13 Additional UPDATE Semantics................................. 87
   12.14 Additional MERGE Semantics.................................. 89
   13  Activity Feature.............................................. 90
   13.1 Activity Properties.......................................... 91
    13.1.1 DAV:activity-version-set (computed)....................... 91
    13.1.2 DAV:activity-checkout-set (computed)...................... 92
    13.1.3 DAV:subactivity-set....................................... 92
    13.1.4 DAV:current-workspace-set (computed)...................... 92
   13.2 Additional Version Properties................................ 92
    13.2.1 DAV:activity-set.......................................... 93
   13.3 Additional Checked-Out Resource Properties................... 93
    13.3.1 DAV:unreserved............................................ 93
    13.3.2 DAV:activity-set.......................................... 93
   13.4 Additional Workspace Properties.............................. 93
    13.4.1 DAV:current-activity-set.................................. 94
   13.5 MKACTIVITY Method............................................ 94
    13.5.1 Example - MKACTIVITY...................................... 95
   13.6 DAV:latest-activity-version Report........................... 95
   13.7 Additional OPTIONS Semantics................................. 96
   13.8 Additional DELETE Semantics.................................. 96
   13.9 Additional MOVE Semantics.................................... 97
   13.10 Additional CHECKOUT Semantics............................... 97
    13.10.1 Example - CHECKOUT with an activity...................... 98
   13.11 Additional CHECKIN Semantics................................ 99
   13.12 Additional MERGE Semantics.................................. 99
   14  Version-Controlled-Collection Feature.........................100
   14.1 Version-Controlled Collection Properties.....................102
    14.1.1 DAV:eclipsed-set (computed)...............................102
   14.2 Collection Version Properties................................103
    14.2.1 DAV:version-controlled-binding-set (protected)............103
   14.3 Additional OPTIONS Semantics.................................103
   14.4 Additional DELETE Semantics..................................103
   14.5 Additional MKCOL Semantics...................................104
   14.6 Additional COPY Semantics....................................104
   14.7 Additional MOVE Semantics....................................104
        
   14.8 Additional VERSION-CONTROL Semantics.........................104
   14.9 Additional CHECKOUT Semantics................................105
   14.10 Additional CHECKIN Semantics................................105
   14.11 Additional UPDATE and MERGE Semantics.......................106
   15  Internationalization Considerations...........................106
   16  Security Considerations.......................................107
   16.1 Auditing and Traceability....................................107
   16.2 Increased Need for Access Control............................108
   16.3 Security Through Obscurity...................................108
   16.4 Denial of Service............................................108
   17  IANA Considerations...........................................109
   18  Intellectual Property.........................................109
   19  Acknowledgements..............................................109
   20  References....................................................110
   Appendix A - Resource Classification..............................111
   A.1 DeltaV-Compliant Unmapped URL.................................111
   A.2 DeltaV-Compliant Resource.....................................111
   A.3 DeltaV-Compliant Collection...................................112
   A.4 Versionable Resource..........................................112
   A.5 Version-Controlled Resource...................................112
   A.6 Version.......................................................113
   A.7 Checked-In Version-Controlled Resource........................113
   A.8 Checked-Out Resource..........................................113
   A.9 Checked-Out Version-Controlled Resource.......................114
   A.10 Working Resource.............................................114
   A.11 Version History..............................................114
   A.12 Workspace....................................................115
   A.13 Activity.....................................................115
   A.14 Version-Controlled Collection................................115
   A.15 Collection Version...........................................115
   A.16 Version-Controlled Configuration.............................116
   A.17 Baseline.....................................................116
   A.18 Checked-Out Version-Controlled Configuration.................116
   Authors' Addresses................................................117
   Full Copyright Statement..........................................118
        

1 Introduction

1はじめに

This document specifies a set of methods, headers, and properties that define the WebDAV (Web Distributed Authoring and Versioning) versioning extensions to the HTTP/1.1 protocol. Versioning is concerned with tracking and accessing the history of important states of a web resource, such as a standalone web page. The benefits of versioning in the context of the worldwide web include:

このドキュメントでは、HTTP / 1.1プロトコルに対するWebDAV(Web Distributed Authoring and Versioning)バージョン管理拡張機能を定義するメソッド、ヘッダー、およびプロパティのセットを指定します。バージョン管理は、スタンドアロンWebページなどのWebリソースの重要な状態の履歴の追跡とアクセスに関係しています。ワールドワイドウェブのコンテキストでのバージョン管理の利点には、次のものがあります。

- A resource has an explicit history and a persistent identity across the various states it has had during the course of that history. It allows browsing through past and alternative versions of a resource. Frequently the modification and authorship history of a resource is critical information in itself.

- リソースには、明示的な履歴と、その履歴の過程で持っていたさまざまな状態にわたって永続的なIDがあります。リソースの過去のバージョンと代替バージョンを閲覧できます。多くの場合、リソースの変更と作成者の履歴は、それ自体が重要な情報です。

- Resource states (versions) are given stable names that can support externally stored links for annotation and link server support. Both annotation and link servers frequently need to store stable references to portions of resources that are not under their direct control. By providing stable states of resources, version control systems allow not only stable pointers into those resources, but also well defined methods to determine the relationships of those states of a resource.

- リソースの状態(バージョン)には、注釈およびリンクサーバーサポート用に外部に保存されたリンクをサポートできる安定した名前が付けられています。注釈サーバーとリンクサーバーの両方が、直接制御されていないリソースの部分への安定した参照を保存する必要があることがよくあります。リソースの安定した状態を提供することにより、バージョン管理システムは、それらのリソースへの安定したポインターだけでなく、リソースのこれらの状態の関係を決定するための明確に定義されたメソッドも許可します。

WebDAV Versioning defines both basic and advanced versioning functionality.

WebDAVバージョン管理は、基本的なバージョン管理機能と高度なバージョン管理機能の両方を定義します。

Basic versioning allows users to:

基本的なバージョン管理により、ユーザーは次のことができます。

- Put a resource under version control - Determine whether a resource is under version control - Determine whether a resource update will automatically be captured as a new version - Create and access distinct versions of a resource

- リソースをバージョン管理下に置く-リソースがバージョン管理下にあるかどうかを判断する-リソースの更新が新しいバージョンとして自動的にキャプチャされるかどうかを判断する-リソースの異なるバージョンを作成してアクセスする

Advanced versioning provides additional functionality for parallel development and configuration management of sets of web resources.

高度なバージョン管理は、Webリソースのセットの並行開発および構成管理のための追加機能を提供します。

This document will first define the properties and method semantics for the basic versioning features, and then define the additional properties and method semantics for the advanced versioning features. An implementer that is only interested in basic versioning should skip the advanced versioning sections (Section 10 to Section 14).

このドキュメントでは、最初に基本的なバージョン管理機能のプロパティとメソッドセマンティクスを定義し、次に高度なバージョン管理機能の追加のプロパティとメソッドセマンティクスを定義します。基本的なバージョン管理にのみ関心がある実装者は、高度なバージョン管理のセクション(セクション10からセクション14)をスキップする必要があります。

1.1 Relationship to WebDAV
1.1 WebDAVとの関係

To maximize interoperability and the use of existing protocol functionality, versioning support is designed as extensions to the WebDAV protocol [RFC2518], which itself is an extension to the HTTP protocol [RFC2616]. All method marshalling and postconditions defined by RFC 2518 and RFC 2616 continue to hold, to ensure that versioning unaware clients can interoperate successfully with versioning servers. Although the versioning extensions are designed to be orthogonal to most aspects of the WebDAV and HTTP protocols, a clarification to RFC 2518 is required for effective interoperable versioning. This clarification is described in Section 1.7.

相互運用性と既存のプロトコル機能の使用を最大化するために、バージョン管理サポートは、WebDAVプロトコル[RFC2518]の拡張として設計されており、それ自体がHTTPプロトコル[RFC2616]の拡張です。 RFC 2518およびRFC 2616で定義されているすべてのメソッドマーシャリングおよび事後条件は引き続き保持され、バージョニング非対応クライアントがバージョニングサーバーと正常に相互運用できるようにします。バージョニング拡張機能はWebDAVおよびHTTPプロトコルのほとんどの側面に直交するように設計されていますが、効果的な相互運用可能なバージョニングにはRFC 2518の明確化が必要です。この説明はセクション1.7で説明されています。

1.2 Notational Conventions
1.2 表記規則

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.

このドキュメントのキーワード「MUST」、「MUST NOT」、「REQUIRED」、「SHALL」、「SHALL NOT」、「SHOULD」、「SHOULD NOT」、「RECOMMENDED」、「MAY」、および「OPTIONAL」は、 RFC 2119で説明されているように解釈されます。

The term "protected" is placed in parentheses following the definition of a protected property (see Section 1.4.2).

「保護された」という用語は、保護されたプロパティの定義に従って括弧内に配置されます(セクション1.4.2を参照)。

The term "computed" is placed in parentheses following the definition of a computed property (see Section 1.4.3).

「計算された」という用語は、計算されたプロパティの定義に従って括弧内に配置されます(セクション1.4.3を参照)。

When an XML element type in the "DAV:" namespace is referenced in this document outside of the context of an XML fragment, the string "DAV:" will be prefixed to the element type.

「DAV:」名前空間のXMLエレメントタイプがこのドキュメントでXMLフラグメントのコンテキスト外で参照されている場合、「DAV:」という文字列がエレメントタイプの前に付加されます。

When a method is defined in this document, a list of preconditions and postconditions will be defined for that method. If the semantics of an existing method is being extended, a list of additional preconditions and postconditions will be defined. A precondition or postcondition is prefixed by a parenthesized XML element type that identifies that precondition or postcondition (see Section 1.6).

このドキュメントでメソッドを定義すると、そのメソッドに前提条件と事後条件のリストが定義されます。既存のメソッドのセマンティクスが拡張されている場合、追加の前提条件と事後条件のリストが定義されます。前提条件または事後条件の前には、その前提条件または事後条件を識別する括弧で囲まれたXML要素タイプが付けられます(セクション1.6を参照)。

1.3 Terms
1.3 条項

This document uses the terms defined in RFC 2616, in RFC 2518, and in this section. Section 2.2 defines the semantic versioning model underlying this terminology.

このドキュメントでは、RFC 2616、RFC 2518、およびこのセクションで定義されている用語を使用しています。セクション2.2では、この用語の基礎となるセマンティックバージョニングモデルを定義しています。

Version Control, Checked-In, Checked-Out

バージョン管理、チェックイン、チェックアウト

"Version control" is a set of constraints on how a resource can be updated. A resource under version control is either in a "checked-in" or "checked-out" state, and the version control constraints apply only while the resource is in the checked-in state.

「バージョン管理」は、リソースの更新方法に関する一連の制約です。バージョン管理下のリソースは「チェックイン」または「チェックアウト」状態にあり、バージョン管理の制約は、リソースがチェックイン状態にある間のみ適用されます。

Versionable Resource

バージョン管理可能なリソース

A "versionable resource" is a resource that can be put under version control.

「バージョン管理可能なリソース」は、バージョン管理下に置くことができるリソースです。

Version-Controlled Resource

バージョン管理されたリソース

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 of its content or dead properties by standard HTTP and WebDAV methods.

バージョン管理可能なリソースがバージョン管理下に置かれると、「バージョン管理されたリソース」になります。バージョン管理されたリソースを「チェックアウト」して、標準のHTTPおよびWebDAVメソッドによるコンテンツまたはデッドプロパティの変更を許可できます。

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 (content and dead properties) 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, and this URL will never be used to identify any resource other than that version. The content and dead properties of a version never change.

「バージョンリソース」、または単に「バージョン」は、バージョン管理されたリソースの特定の状態(コンテンツとデッドプロパティ)のコピーを含むリソースです。バージョンは、チェックアウトされたリソースを「チェックイン」して作成されます。サーバーは新しいバージョンごとに別個の新しいURLを割り当てます。このURLは、そのバージョン以外のリソースの識別には使用されません。バージョンのコンテンツと無効なプロパティは変更されません。

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.

「バージョン履歴リソース」または単に「バージョン履歴」は、特定のバージョン管理されたリソースのすべてのバージョンを含むリソースです。

Version Name

バージョン名

A "version name" is a string chosen by the server to distinguish one version of a version history from the other versions of that version history. Versions from different version histories may have the same version name.

「バージョン名」は、バージョン履歴のあるバージョンをそのバージョン履歴の他のバージョンと区別するためにサーバーが選択する文字列です。異なるバージョン履歴のバージョンは、同じバージョン名を持つ場合があります。

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 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.

バージョン管理されたリソースがチェックアウトされ、その後チェックインされると、チェックアウトされたバージョンは、チェックインによって作成されたバージョンの「先行バージョン」になります。新しいバージョンが論理的にそれらの先行バージョンのマージである場合、クライアントは新しいバージョンの複数の先行バージョンを指定できます。 1つ以上の先行関係をたどってバージョンが別のバージョンに接続されている場合、そのバージョンの「祖先」と呼ばれます。先行関係と祖先関係の逆は、「後続」と「子孫」の関係です。したがって、XがYの前任者である場合、YはXの後継者であり、XがYの祖先である場合、Yは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.

「ルートバージョンリソース」または単に「ルートバージョン」は、バージョン履歴内の他のすべてのバージョンの祖先であるバージョン履歴内のバージョンです。

Workspace Resource

ワークスペースリソース

A "workspace resource", or simply "workspace", is a collection that contains at most one version-controlled resource for a given version history (see Section 6).

「ワークスペースリソース」または単に「ワークスペース」は、特定のバージョン履歴に対して最大1つのバージョン管理されたリソースを含むコレクションです(セクション6を参照)。

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. Unlike a checked-out version-controlled resource, a working resource is deleted when it is checked in.

「作業リソース」とは、(バージョン管理されたリソースではなく)バージョンがチェックアウトされたときに、サーバー定義のURLでサーバーによって作成されたチェックアウトされたリソースです。チェックアウトされたバージョン管理されたリソースとは異なり、作業リソースはチェックインされると削除されます。

Fork, Merge

フォーク、マージ

When a second successor is added to a version, this creates a "fork" in the version history. When a version is created with multiple predecessors, this creates a "merge" in the version history. A server may restrict the version history to be linear (with no forks or merges), but an interoperable versioning client should be prepared to deal with both forks and merges in the version history.

2番目の後継バージョンがバージョンに追加されると、バージョン履歴に「フォーク」が作成されます。複数の先行バージョンを使用してバージョンを作成すると、バージョン履歴に「マージ」が作成されます。サーバーはバージョン履歴を線形(フォークまたはマージなし)に制限することがありますが、バージョン履歴のフォークとマージの両方を処理できるように相互運用可能なバージョン管理クライアントを準備する必要があります。

The following diagram illustrates several of the previous definitions. Each box represents a version and each line between two boxes represents a predecessor/successor relationship. For example, it shows V3 is a predecessor of V5, V7 is a successor of V5, V1 is an ancestor of V4, and V7 is a descendant of V4. It also shows that there is a fork at version V2 and a merge at version V7.

次の図は、前述の定義のいくつかを示しています。各ボックスはバージョンを表し、2つのボックス間の各線は先行/後続関係を表します。たとえば、V3はV5の前任者、V7はV5の後継者、V1はV4の祖先、V7はV4の子孫であることを示しています。また、バージョンV2にはフォークがあり、バージョンV7にはマージがあることも示しています。

History of foo.html

foo.htmlの歴史

                               +---+
         Root Version -------> |   | V1
                               +---+           ^
                                 |             |
                                 |             |
                               +---+           |
         Version Name ----> V2 |   |           | Ancestor
                               +---+           |
                               /    \          |
                              /      \         |
                         +---+       +---+
                         |   | V3    |   | V4
                      ^  +---+       +---+
                      |    |           |       |
         Predecessor  |    |           |       |
                         +---+       +---+     |
                         |   | V5    |   | V6  | Descendant
                         +---+       +---+     |
         Successor    |       \      /         |
                      |        \    /          |
                      v        +---+           v
                               |   | V7
                               +---+
        

Label

ラベル

A "label" is a name that can be used to select a version from a version history. A label can be assigned by either a client or the server. The same label can be used in different version histories.

「ラベル」は、バージョン履歴からバージョンを選択するために使用できる名前です。ラベルは、クライアントまたはサーバーのいずれかによって割り当てることができます。同じラベルを異なるバージョン履歴で使用できます。

1.4 Property Values
1.4 プロパティ値
1.4.1 Initial Property Value
1.4.1 初期プロパティ値

Unless an initial value of a property of a given type is defined by this document, the initial value of a property of that type is implementation dependent.

特定のタイプのプロパティの初期値がこのドキュメントで定義されていない限り、そのタイプのプロパティの初期値は実装に依存します。

1.4.2 Protected Property Value
1.4.2 保護されたプロパティ値

When a property of a specific kind of resource is "protected", the property value cannot be updated on that kind of resource except by a method explicitly defined as updating that specific property. In particular, a protected property cannot be updated with a PROPPATCH request. Note that a given property can be protected on one kind of resource, but not protected on another kind of resource.

特定の種類のリソースのプロパティが「保護」されている場合、その特定のプロパティの更新として明示的に定義されたメソッドを使用しない限り、その種類のリソースのプロパティ値は更新できません。特に、保護されたプロパティはPROPPATCHリクエストでは更新できません。特定のプロパティは、ある種類のリソースでは保護できますが、別の種類のリソースでは保護できないことに注意してください。

1.4.3 Computed Property Value
1.4.3 計算されたプロパティ値

When a property is "computed", its value is defined in terms of a computation based on the content and other properties of that resource, or even of some other resource. When the semantics of a method is defined in this document, the effect of that method on non-computed properties will be specified; the effect of that method on computed properties will not be specified, but can be inferred from the computation defined for those properties. A computed property is always a protected property.

プロパティが「計算」されると、その値は、そのリソースのコンテンツやその他のプロパティ、またはその他のリソースのコンテンツに基づく計算によって定義されます。メソッドのセマンティクスがこのドキュメントで定義されている場合、非計算プロパティに対するそのメソッドの影響が指定されます。計算されたプロパティに対するそのメソッドの影響は指定されませんが、それらのプロパティに定義された計算から推測できます。計算されたプロパティは常に保護されたプロパティです。

1.4.4 Boolean Property Value
1.4.4 ブールプロパティ値

Some properties take a Boolean value of either "false" or "true".

一部のプロパティは、「false」または「true」のブール値を取ります。

1.4.5 DAV:href Property Value
1.4.5 DAV:hrefプロパティ値

The DAV:href XML element is defined in RFC 2518, Section 12.3.

DAV:href XML要素はRFC 2518、セクション12.3で定義されています。

1.5 DAV Namespace XML Elements in Request and Response Bodies
1.5 リクエストボディとレスポンスボディのDAV名前空間XML要素

Although WebDAV request and response bodies can be extended by arbitrary XML elements, which can be ignored by the message recipient, an XML element in the DAV namespace MUST NOT be used in the request or response body of a versioning method unless that XML element is explicitly defined in an IETF RFC.

WebDAVのリクエストとレスポンスの本文は任意のXML要素で拡張できますが、メッセージの受信者は無視できますが、DAV名前空間のXML要素は、バージョン管理メソッドのリクエストまたは応答の本文で使用しないでください(そのXML要素が明示的に指定されている場合を除く) IETF RFCで定義されています。

1.6 Method Preconditions and Postconditions
1.6 メソッドの前提条件と事後条件

A "precondition" of a method describes the state of the server that must be true for that method to be performed. A "postcondition" of a method describes the state of the server that must be true after that method has been completed. If a method precondition or postcondition for a request is not satisfied, the response status of the request MUST be either 403 (Forbidden) if the request should not be repeated because it will always fail, or 409 (Conflict) if it is expected that the user might be able to resolve the conflict and resubmit the request.

メソッドの「前提条件」は、そのメソッドを実行するために真でなければならないサーバーの状態を示します。メソッドの「事後条件」は、そのメソッドが完了した後に真でなければならないサーバーの状態を示します。リクエストのメソッドの前提条件または事後条件が満たされていない場合、リクエストの応答ステータスは、リクエストが常に失敗するためにリクエストを繰り返さない場合は403(Forbidden)でなければならず、そうでない場合は409(Conflict)でなければなりません。ユーザーは競合を解決してリクエストを再送信できる場合があります。

In order to allow better client handling of 403 and 409 responses, a distinct XML element type is associated with each method precondition and postcondition of a request. When a particular precondition is not satisfied or a particular postcondition cannot be achieved, the appropriate XML element MUST be returned as the child of a top-level DAV:error element in the response body, unless otherwise negotiated by the request. In a 207 Multi-Status response, the DAV:error element would appear in the appropriate DAV:responsedescription element.

403および409応答のより良いクライアント処理を可能にするために、リクエストの各メソッドの前提条件と事後条件に個別のXML要素タイプが関連付けられています。特定の前提条件が満たされていない場合、または特定の事後条件が達成できない場合は、要求によって交渉されない限り、適切なXML要素をトップレベルのDAV:error要素の子として応答本文に返す必要があります。 207マルチステータス応答では、DAV:error要素が適切なDAV:responsedescription要素に表示されます。

1.6.1 Example - CHECKOUT request with DAV:must-be-checked-in response
1.6.1 例-DAV:checked-be-checked-in応答を伴うCHECKOUTリクエスト

>>REQUEST

>>リクエスト

CHECKOUT /foo.html HTTP/1.1 Host: www.webdav.org

チェックアウト/foo.html HTTP / 1.1ホスト:www.webdav.org

>>RESPONSE

>>応答

     HTTP/1.1 409 Conflict
     Content-Type: text/xml; charset="utf-8"
     Content-Length: xxxx
        
     <?xml version="1.0" encoding="utf-8" ?>
     <D:error xmlns:D="DAV:">
       <D:must-be-checked-in/>
     </D:error>
        

In this example, the request to CHECKOUT /foo.html fails because /foo.html is not checked in.

この例では、/ foo.htmlがチェックインされていないため、CHECKOUT /foo.htmlへのリクエストは失敗します。

1.7 Clarification of COPY Semantics with Overwrite:T
1.7 Overwrite:TによるCOPYセマンティクスの明確化

RFC 2518, Section 8.8.4 states:

RFC 2518のセクション8.8.4には次のように記載されています。

"If a resource exists at the destination and the Overwrite header is "T" then prior to performing the copy the server MUST perform a DELETE with "Depth: infinity" on the destination resource."

"宛先にリソースが存在し、Overwriteヘッダーが" T "の場合、コピーを実行する前に、サーバーは宛先リソースで" Depth:infinity "のDELETEを実行する必要があります。"

The purpose of this sentence is to ensure that following a COPY, all destination resources have the same content and dead properties as the corresponding resources identified by the request-URL (where a resource with a given name relative to the Destination URL "corresponds" to a resource with the same name relative to the request-URL). If at the time of the request, there already is a resource at the destination that has the same resource type as the corresponding resource at the request-URL, that resource MUST NOT be deleted, but MUST be updated to have the content and dead properties of its corresponding member. If a client wishes all resources at the destination to be deleted prior to the COPY, it MUST explicitly issue a DELETE request.

この文の目的は、COPYの後、すべての宛先リソースが、request-URLによって識別される対応するリソースと同じコンテンツとデッドプロパティを持つことを保証することです(宛先URLに関連する特定の名前のリソースは、リクエストURLに関連して同じ名前のリソース)。リクエスト時に、リクエストURLの対応するリソースと同じリソースタイプのリソースが宛先にすでに存在する場合、そのリソースは削除してはならず、コンテンツとデッドプロパティを持つように更新する必要があります。対応するメンバーの。クライアントがCOPYの前に宛先のすべてのリソースを削除することを希望する場合は、DELETE要求を明示的に発行する必要があります。

The difference between updating a resource and replacing a resource with a new resource is especially important when resource history is being maintained (the former adds to an existing history, while the latter creates a new history). In addition, locking and access control constraints might allow you to update a resource, but not allow you to delete it and create a new one in its place.

リソースの更新と新しいリソースでのリソースの置き換えの違いは、リソース履歴が維持されている場合に特に重要です(前者は既存の履歴に追加され、後者は新しい履歴を作成します)。さらに、ロックおよびアクセス制御の制約により、リソースを更新することはできても、リソースを削除してその場所に新しいリソースを作成することはできない場合があります。

Note that this clarification does not apply to a MOVE request. A MOVE request with Overwrite:T MUST perform the DELETE with "Depth:infinity" on the destination resource prior to performing the MOVE.

この説明はMOVEリクエストには適用されないことに注意してください。 Overwrite:Tを指定したMOVEリクエストは、MOVEを実行する前に、宛先リソースで「Depth:infinity」を指定してDELETEを実行する必要があります。

1.8 Versioning Methods and Write Locks
1.8 バージョン管理方法と書き込みロック

If a write-locked resource has a non-computed property defined by this document, the property value MUST NOT be changed by a request unless the appropriate lock token is included in the request. Since every method introduced in this document other than REPORT modifies at least one property defined by this document, every versioning method other than REPORT is affected by a write lock. In particular, the method MUST fail with a 423 (Locked) status if the resource is write-locked and the appropriate token is not specified in an If request header.

書き込みロックされたリソースに、このドキュメントで定義されている計算されていないプロパティがある場合、適切なロックトークンがリクエストに含まれていない限り、リクエストによってプロパティ値を変更してはなりません。このドキュメントで紹介されているREPORT以外のすべてのメソッドは、このドキュメントで定義されている少なくとも1つのプロパティを変更するため、REPORT以外のすべてのバージョン管理メソッドは書き込みロックの影響を受けます。特に、リソースが書き込みロックされており、適切なトークンがIfリクエストヘッダーで指定されていない場合、メソッドは423(ロック済み)ステータスで失敗する必要があります。

2 Basic Versioning Features

2基本的なバージョン管理機能

Each basic versioning feature defines extensions to existing HTTP and WebDAV methods, as well as new resource types, live properties, and methods.

各基本バージョン管理機能は、既存のHTTPおよびWebDAVメソッドの拡張機能、および新しいリソースタイプ、ライブプロパティ、メソッドを定義します。

2.1 Basic Versioning Packages
2.1 基本的なバージョン管理パッケージ

A server MAY support any combination of versioning features. However, in order to minimize the complexity of a WebDAV basic versioning client, a WebDAV basic versioning server SHOULD support one of the following three "packages" (feature sets):

サーバーは、バージョン管理機能の任意の組み合わせをサポートする場合があります。ただし、WebDAV基本バージョン管理クライアントの複雑さを最小限に抑えるために、WebDAV基本バージョン管理サーバーは、次の3つの「パッケージ」(機能セット)の1つをサポートする必要があります(SHOULD)。

- Core-Versioning Package: version-control - Basic-Server-Workspace Package: version-control, workspace, version-history, checkout - Basic-Client-Workspace Package: version-control, working-resource, update, label

- コアバージョン管理パッケージ:version-control-Basic-Server-Workspaceパッケージ:version-control、workspace、version-history、checkout-Basic-Client-Workspaceパッケージ:version-control、working-resource、update、label

The core-versioning package supports linear versioning by both versioning-aware and versioning-unaware clients. A versioning-aware client can use reports and properties to access previous versions of a version-controlled resource.

コアバージョン管理パッケージは、バージョン対応のクライアントとバージョン非対応のクライアントの両方による線形バージョン管理をサポートしています。バージョン対応クライアントは、レポートとプロパティを使用して、バージョン管理されたリソースの以前のバージョンにアクセスできます。

The basic workspace packages support parallel development of version-controlled resources. Each client has its own configuration of the shared version-controlled resources, and can make changes to its configuration without disturbing that of another client.

基本的なワークスペースパッケージは、バージョン管理されたリソースの並行開発をサポートします。各クライアントには、バージョン管理された共有リソースの独自の構成があり、別のクライアントの構成に影響を与えずに構成を変更できます。

In the basic-server-workspace package, all persistent state is maintained on the server. Each client has its own workspace resource allocated on the server, where each workspace identifies a configuration of the shared version-controlled resources. Each client makes changes to its workspace, and can transfer changes when appropriate from one workspace to another. The server workspace package is appropriate for clients with no local persistent state, or for clients that wish to expose their working configurations to other clients.

basic-server-workspaceパッケージでは、すべての永続的な状態がサーバーで維持されます。各クライアントには、サーバー上に割り当てられた独自のワークスペースリソースがあり、各ワークスペースは、バージョン管理された共有リソースの構成を識別します。各クライアントはワークスペースに変更を加え、必要に応じてワークスペース間で変更を転送できます。サーバーワークスペースパッケージは、ローカルの永続的な状態がないクライアント、または他のクライアントに作業構成を公開したいクライアントに適しています。

In the basic-client-workspace package, each client maintains in local persistent storage the state for its configuration of the shared version-controlled resources. When a client is ready to make its changes visible to other clients, it allocates a set of "working resources" on the server, updates the content and dead properties of these working resources, and then uses the set of working resources to update the version-controlled resources. The working resources are used, instead of directly updating the version-controlled resources, so that sets of consistent updates can be prepared in parallel by multiple clients. Also, a working resource allows a client to prepare a single update that requires multiple server requests (e.g. updating both the content and dead properties of a resource requires both a PUT and a PROPPATCH). The client workspace package simplifies the server implementation by requiring each client to maintain its own namespace, but this requires that the clients have local persistent state, and does not allow clients to expose their working configurations to other clients.

basic-client-workspaceパッケージでは、各クライアントは、ローカルの永続ストレージに、バージョン管理された共有リソースの構成の状態を維持します。クライアントは、変更を他のクライアントに表示する準備ができると、サーバー上に一連の「ワーキングリソース」を割り当て、これらのワーキングリソースのコンテンツとデッドプロパティを更新してから、そのワーキングリソースのセットを使用してバージョンを更新します。 -管理されたリソース。バージョン管理されたリソースを直接更新する代わりに、作業リソースが使用されるため、一貫した更新のセットを複数のクライアントが並行して準備できます。また、作業リソースを使用すると、クライアントは複数のサーバー要求を必要とする単一の更新を準備できます(たとえば、リソースのコンテンツとデッドプロパティの両方を更新するには、PUTとPROPPATCHの両方が必要です)。クライアントワークスペースパッケージは、各クライアントが独自の名前空間を維持することを要求することでサーバーの実装を簡素化しますが、これにはクライアントにローカルの永続状態が必要であり、クライアントが他のクライアントに作業構成を公開できないようにします。

A server that supports both basic workspace packages will interoperate with all basic versioning clients.

両方の基本的なワークスペースパッケージをサポートするサーバーは、すべての基本的なバージョン管理クライアントと相互運用します。

2.2 Basic Versioning Semantics
2.2 基本的なバージョン管理のセマンティクス
2.2.1 Creating a Version-Controlled Resource
2.2.1 バージョン管理されたリソースの作成

In order to track the history of the content and dead properties of a versionable resource, a user can put the resource under version control with a VERSION-CONTROL request. A VERSION-CONTROL request performs three distinct operations:

コンテンツの履歴とバージョン管理可能なリソースの無効なプロパティを追跡するために、ユーザーはVERSION-CONTROLリクエストを使用してリソースをバージョン管理下に置くことができます。 VERSION-CONTROL要求は、3つの異なる操作を実行します。

1) It creates a new "version history resource". In basic versioning, a version history resource is not assigned a URL, and hence is not visible in the http scheme URL space. However, when the version-history feature (see Section 5) is supported, this changes, and each version history resource is assigned a new distinct and unique server-defined URL.

1)新しい「バージョン履歴リソース」を作成します。基本的なバージョン管理では、バージョン履歴リソースにはURLが割り当てられていないため、httpスキームのURLスペースには表示されません。ただし、バージョン履歴機能(セクション5を参照)がサポートされている場合、これは変更され、各バージョン履歴リソースには、サーバー固有の新しい一意のURLが割り当てられます。

2) It creates a new "version resource" and adds it to the new version history resource. The body and dead properties of the new version resource are a copy of those of the versionable resource.

2)新しい「バージョンリソース」を作成し、新しいバージョン履歴リソースに追加します。新しいバージョンリソースの本体と無効なプロパティは、バージョン管理可能なリソースのそれらのコピーです。

The server assigns the new version resource a new distinct and unique URL.

サーバーは、新しいバージョンのリソースに新しい個別の一意のURLを割り当てます。

3) It converts the versionable resource into a "version-controlled resource". The version-controlled resource continues to be identified by the same URL that identified it as a versionable resource. As part of this conversion, it adds a DAV:checked-in property, whose value contains the URL of the new version resource.

3)バージョン管理可能なリソースを「バージョン管理されたリソース」に変換します。バージョン管理されたリソースは、バージョン管理可能なリソースとして識別されたのと同じURLによって引き続き識別されます。この変換の一部として、DAV:checked-inプロパティが追加されます。このプロパティの値には、新しいバージョンリソースのURLが含まれています。

Note that a versionable resource and a version-controlled resource are not new types of resources (i.e. they introduce no new DAV:resourcetype), but rather they are any type of resource that supports the methods and live properties defined for them in this document, in addition to all the methods and live properties implied by their DAV:resourcetype. For example, a collection (whose DAV:resourcetype is DAV:collection) is a versionable resource if it supports the VERSION-CONTROL method, and is a version-controlled resource if it supports the version-controlled resource methods and live properties.

バージョン管理可能なリソースとバージョン管理されたリソースは新しいタイプのリソースではない(つまり、新しいDAV:resourcetypeが導入されていない)ことに注意してください。これらは、このドキュメントで定義されているメソッドとライブプロパティをサポートする任意のタイプのリソースです。 DAV:resourcetypeによって暗示されるすべてのメソッドとライブプロパティに加えて。たとえば、コレクション(DAV:resourcetypeがDAV:collection)は、VERSION-CONTROLメソッドをサポートする場合はバージョン管理可能なリソースであり、バージョン管理されたリソースメソッドとライブプロパティをサポートする場合はバージョン管理されたリソースです。

In the following example, foo.html is a versionable resource that is put under version control. After the VERSION-CONTROL request succeeds, there are two additional resources: a new version history resource and a new version resource in that version history. The versionable resource is converted into a version-controlled resource, whose DAV:checked-in property identifies the new version resource.

次の例では、foo.htmlがバージョン管理可能なリソースです。 VERSION-CONTROLリクエストが成功すると、2つの追加リソースがあります。新しいバージョン履歴リソースとそのバージョン履歴の新しいバージョンリソースです。バージョン管理可能なリソースはバージョン管理されたリソースに変換され、そのDAV:checked-inプロパティは新しいバージョンのリソースを識別します。

The content and dead properties of a resource are represented by the symbol appearing inside the box for that resource (e.g., "S1" in the following example).

リソースのコンテンツと無効なプロパティは、そのリソースのボックス内に表示される記号で表されます(たとえば、次の例では「S1」)。

            ===VERSION-CONTROL==>
        
                      |                       +----+ version
                      |   version-            |    | history
         versionable  |   controlled          +----+ resource
         resource     |   resource              |
         /foo.html    |   /foo.html             |
                      |                         v
           +----+     |     +----+ checked-in +----+ version
           | S1 |     |     | S1 |----------->| S1 | resource
           +----+     |     +----+            +----+ /his/73/ver/1
        

Thus, whereas before the VERSION-CONTROL request there was only one, non-version-controlled resource, after VERSION-CONTROL there are three separate, distinct resources, each containing its own state and properties: the version-controlled resource, the version resource, and the version history resource. Since the version-controlled resource and the version resource are separate, distinct resources, when a method is applied to a version-controlled resource, it is only applied to that version-controlled resource, and is not applied to the version resource that is currently identified by the DAV:checked-in property of that version-controlled resource. Although the content and dead properties of a checked-in version-controlled resource are required to be the same as those of its current DAV:checked-in version, its live properties may differ. An implementation may optimize storage by retrieving the content and dead properties of a checked-in version-controlled resource from its current DAV:checked-in version rather than storing them in the version-controlled resource, but this is just an implementation optimization.

したがって、VERSION-CONTROLリクエストの前は、バージョン管理されていないリソースが1つしかなかったのに対し、VERSION-CONTROLの後には、3つの個別の個別のリソースがあり、それぞれに独自の状態とプロパティが含まれています。バージョン管理されたリソース、バージョンリソース、およびバージョン履歴リソース。バージョン管理されたリソースとバージョンリソースは別個の個別のリソースであるため、メソッドがバージョン管理されたリソースに適用されると、そのバージョン管理されたリソースにのみ適用され、現在バージョン管理されているリソースには適用されませんそのバージョン管理されたリソースのDAV:checked-inプロパティによって識別されます。チェックインされたバージョン管理されたリソースのコンテンツとデッドプロパティは、現在のDAV:checked-inバージョンのものと同じである必要がありますが、ライブプロパティは異なる場合があります。実装は、バージョン管理されたリソースに保存するのではなく、現在のDAV:checked-inバージョンからチェックインされたバージョン管理されたリソースのコンテンツとデッドプロパティを取得することにより、ストレージを最適化する場合がありますが、これは単なる実装の最適化です。

Normally, a resource is placed under version control with an explicit VERSION-CONTROL request. A server MAY automatically place every new versionable resource under version control. In this case, the resulting state on the server MUST be the same as if the client had explicitly applied a VERSION-CONTROL request to the versionable resource.

通常、リソースは明示的なVERSION-CONTROL要求によってバージョン管理下に置かれます。サーバーは自動的にすべての新しいバージョン管理可能なリソースをバージョン管理下に置くことができます。この場合、サーバーの結果の状態は、クライアントが明示的にVERSION-CONTROL要求をバージョン管理可能なリソースに適用した場合と同じでなければなりません(MUST)。

2.2.2 Modifying a Version-Controlled Resource
2.2.2 バージョン管理されたリソースの変更

In order to use methods like PUT and PROPPATCH to directly modify the content or dead properties of a version-controlled resource, the version-controlled resource must first be checked out. When the checked-out resource is checked in, a new version is created in the version history of that version-controlled resource. The version that was checked out is remembered as the predecessor of the new version.

PUTやPROPPATCHなどのメソッドを使用して、バージョン管理されたリソースのコンテンツまたはデッドプロパティを直接変更するには、まずバージョン管理されたリソースをチェックアウトする必要があります。チェックアウトされたリソースがチェックインされると、そのバージョン管理されたリソースのバージョン履歴に新しいバージョンが作成されます。チェックアウトされたバージョンは、新しいバージョンの先行バージョンとして記憶されています。

The DAV:auto-version property (see Sections 3.2.2) of a checked-in version-controlled resource determines how it responds to a method that attempts to modify its content or dead properties. Possible responses include:

チェックインされたバージョン管理されたリソースのDAV:auto-versionプロパティ(セクション3.2.2を参照)は、コンテンツまたは無効なプロパティを変更しようとするメソッドへの応答方法を決定します。可能な応答は次のとおりです。

- Fail the request. The resource requires an explicit CHECKOUT request for it to be modified (see Sections 4 and 9.2.1).

- リクエストを失敗させます。リソースを変更するには、明示的なCHECKOUT要求が必要です(セクション4および9.2.1を参照)。

- Automatically checkout the resource, perform the modification, and automatically checkin the resource. This ensures that every state of the resource is tracked by the server, but can result in an excessive number of versions being created.

- リソースを自動的にチェックアウトし、変更を実行して、リソースを自動的にチェックインします。これにより、リソースのすべての状態がサーバーによって追跡されますが、過剰な数のバージョンが作成される可能性があります。

- Automatically checkout the resource, perform the modification, and then if the resource is not write-locked, automatically checkin the resource. If the resource is write-locked, it remains checked-out until the write-lock is removed (either explicitly through a subsequent UNLOCK request or implicitly through a time-out of the write-lock). This helps a locking client avoid the proliferation of versions, while still allowing a non-locking client to update the resource.

- リソースを自動的にチェックアウトして変更を実行し、リソースが書き込みロックされていない場合は、リソースを自動的にチェックインします。リソースが書き込みロックされている場合、書き込みロックが解除されるまで(次のUNLOCK要求によって明示的に、または書き込みロックのタイムアウトによって暗黙的に)チェックアウトされたままになります。これにより、ロックしているクライアントがバージョンの急増を回避しながら、非ロックしているクライアントがリソースを更新できるようになります。

- Automatically checkout the resource, perform the modification, and then leave the resource checked out. If the resource is write-locked, it will be automatically checked in when the write-lock is removed, but an explicit CHECKIN operation (see Section 4.4) is required for a non-write-locked resource. This minimizes the number of new versions that will be created by a versioning unaware client, but only a versioning aware client can create new versions of a non-write-locked resource.

- リソースを自動的にチェックアウトし、変更を実行してから、リソースをチェックアウトしたままにします。リソースが書き込みロックされている場合、書き込みロックが解除されると自動的にチェックインされますが、書き込みロックされていないリソースには明示的なCHECKIN操作(4.4項を参照)が必要です。これにより、バージョニング非対応クライアントによって作成される新しいバージョンの数が最小限に抑えられますが、バージョニング対応クライアントのみが書き込みロックされていないリソースの新しいバージョンを作成できます。

- Fail the request unless the resource is write-locked. If it is write-locked, automatically checkout the resource and perform the modification. The resource is automatically checked in when the write-lock is removed. This minimizes the number of new versions that will be created by a versioning unaware client, but never automatically checks out a resource that will not subsequently be automatically checked in.

- リソースが書き込みロックされていない限り、要求を失敗させます。書き込みロックされている場合は、自動的にリソースをチェックアウトして変更を実行します。書き込みロックが解除されると、リソースは自動的にチェックインされます。これにより、バージョニング非対応クライアントによって作成される新しいバージョンの数は最小限に抑えられますが、その後自動的にチェックインされないリソースを自動的にチェックアウトすることは決してありません。

The following diagram illustrates the effect of the checkout/checkin process on a version-controlled resource and its version history. The symbol inside a box (S1, S2, S3) represents the current content and dead properties of the resource represented by that box. The symbol next to a box (V1, V2, V3) represents the URL for that resource.

次の図は、バージョン管理されたリソースとそのバージョン履歴に対するチェックアウト/チェックインプロセスの影響を示しています。ボックス内のシンボル(S1、S2、S3)は、そのボックスで表されるリソースの現在のコンテンツと無効なプロパティを表します。ボックスの横の記号(V1、V2、V3)は、そのリソースのURLを表します。

              ===checkout==>     ===PUT==>     ===checkin==>
        

/foo.html (version-controlled resource)

/foo.html(バージョン管理されたリソース)

            +----+    |    +----+    |    +----+    |    +----+
            | S2 |    |    | S2 |    |    | S3 |    |    | S3 |
            +----+    |    +----+    |    +----+    |    +----+
         Checked-In=V2|Checked-Out=V2|Checked-Out=V2|Checked-In=V3
        
           /his/73 (version history for /foo.html)
        
           +----+     |   +----+     |   +----+     |   +----+
           | S1 | V1  |   | S1 | V1  |   | S1 | V1  |   | S1 | V1
           +----+     |   +----+     |   +----+     |   +----+
              |       |      |       |      |       |      |
              |       |      |       |      |       |      |
           +----+     |   +----+     |   +----+     |   +----+
           | S2 | V2  |   | S2 | V2  |   | S2 | V2  |   | S2 | V2
           +----+     |   +----+     |   +----+     |   +----+
                      |              |              |      |
                      |              |              |      |
                      |              |              |   +----+
                      |              |              |   | S3 | V3
                      |              |              |   +----+
        

Note that a version captures only a defined subset of the state of a resource. In particular, a version of a basic resource captures its content and dead properties, but not its live properties.

バージョンは、リソースの状態の定義されたサブセットのみをキャプチャすることに注意してください。特に、基本リソースのバージョンは、コンテンツと無効なプロパティをキャプチャしますが、ライブプロパティはキャプチャしません。

2.2.3 Reporting
2.2.3 報告

Some versioning information about a resource requires that parameters be specified along with that request for information. Included in basic versioning is the required support for an extensible reporting mechanism, which includes a REPORT method as well as a live property for determining what reports are supported by a particular resource. The REPORT method is required by versioning, but it can be used in non-versioning WebDAV extensions.

リソースに関する一部のバージョン情報では、その情報の要求とと​​もにパラメーターを指定する必要があります。基本的なバージョン管理には、拡張可能なレポートメカニズムの必須サポートが含まれます。これには、REPORTメソッドと、特定のリソースでサポートされているレポートを判別するためのライブプロパティが含まれます。 REPORTメソッドはバージョン管理に必要ですが、バージョン管理以外のWebDAV拡張機能で使用できます。

To allow a client to query the properties of all versions in the version history of a specified version-controlled resource, basic versioning provides the DAV:version-tree report (see Section 3.7). A more powerful version history reporting mechanism is provided by applying the DAV:expand-property report (see Section 3.8) to a version history resource (see Section 5).

クライアントが指定されたバージョン管理されたリソースのバージョン履歴内のすべてのバージョンのプロパティをクエリできるようにするために、基本的なバージョン管理はDAV:version-treeレポートを提供します(セクション3.7を参照)。 DAV:expand-propertyレポート(セクション3.8を参照)をバージョン履歴リソース(セクション5を参照)に適用すると、より強力なバージョン履歴レポートメカニズムが提供されます。

3 Version-Control Feature

3バージョン管理機能

The version-control feature provides support for putting a resource under version control, creating an associated version-controlled resource and version history resource as described in Section 2.2.1. A server indicates that it supports the version-control feature by including the string "version-control" as a field in the DAV header in the response to an OPTIONS request. The version-control feature MUST be supported if any other versioning feature is supported.

バージョン管理機能は、セクション2.2.1で説明されているように、リソースをバージョン管理下に置き、関連するバージョン管理されたリソースとバージョン履歴リソースを作成するためのサポートを提供します。サーバーは、OPTIONS要求への応答のDAVヘッダーのフィールドとして文字列「version-control」を含めることにより、バージョン管理機能をサポートすることを示します。他のバージョン管理機能がサポートされている場合は、バージョン管理機能をサポートする必要があります。

3.1 Additional Resource Properties
3.1 追加のリソースプロパティ

The version-control feature introduces the following REQUIRED properties for any WebDAV resource.

バージョン管理機能では、WebDAVリソースに次の必須プロパティが導入されています。

3.1.1 DAV:comment
3.1.1 DAV:方法

This property is used to track a brief comment about a resource that is suitable for presentation to a user. The DAV:comment of a version can be used to indicate why that version was created.

このプロパティは、ユーザーへの表示に適したリソースに関する簡単なコメントを追跡するために使用されます。バージョンのDAV:コメントは、そのバージョンが作成された理由を示すために使用できます。

   <!ELEMENT comment (#PCDATA)>
   PCDATA value: string
        
3.1.2 DAV:creator-displayname
3.1.2 DAV:creator-displayname

This property contains a description of the creator of the resource that is suitable for presentation to a user. The DAV:creator-displayname of a version can be used to indicate who created that version.

このプロパティには、ユーザーへの表示に適したリソースの作成者の説明が含まれています。バージョンのDAV:creator-displaynameを使用して、だれがそのバージョンを作成したかを示すことができます。

   <!ELEMENT creator-displayname (#PCDATA)>
   PCDATA value: string
        
3.1.3 DAV:supported-method-set (protected)
3.1.3 DAV:supported-method-set(保護)

This property identifies the methods that are supported by the resource. A method is supported by a resource if there is some state of that resource for which an application of that method will successfully satisfy all postconditions of that method, including any additional postconditions added by the features supported by that resource.

このプロパティは、リソースでサポートされているメソッドを識別します。リソースがサポートする機能によって追加された追加の事後条件を含む、そのメソッドのアプリケーションがそのメソッドのすべての事後条件を正常に満たすリソースの状態がある場合、メソッドはリソースによってサポートされます。

   <!ELEMENT supported-method-set (supported-method*)>
   <!ELEMENT supported-method ANY>
   <!ATTLIST supported-method name NMTOKEN #REQUIRED>
   name value: a method name
        
3.1.4 DAV:supported-live-property-set (protected)
3.1.4 DAV:supported-live-property-set(保護)

This property identifies the live properties that are supported by the resource. A live property is supported by a resource if that property has the semantics defined for that property. The value of this property MUST identify all live properties defined by this document that are supported by the resource, and SHOULD identify all live properties that are supported by the resource.

このプロパティは、リソースでサポートされているライブプロパティを識別します。ライブプロパティは、そのプロパティに定義されたセマンティクスがある場合、リソースによってサポートされます。このプロパティの値は、リソースによってサポートされている、このドキュメントで定義されているすべてのライブプロパティを識別しなければならず、リソースによってサポートされているすべてのライブプロパティを識別してください。

   <!ELEMENT supported-live-property-set (supported-live-property*)>
   <!ELEMENT supported-live-property name>
   <!ELEMENT prop ANY>
   ANY value: a property element type
        
3.1.5 DAV:supported-report-set (protected)
3.1.5 DAV:supported-report-set(保護)

This property identifies the reports that are supported by the resource.

このプロパティは、リソースでサポートされているレポートを識別します。

   <!ELEMENT supported-report-set (supported-report*)>
   <!ELEMENT supported-report report>
   <!ELEMENT report ANY>
   ANY value: a report element type
        
3.2 Version-Controlled Resource Properties
3.2 バージョン管理されたリソースのプロパティ

The version-control feature introduces the following REQUIRED properties for a version-controlled resource.

バージョン管理機能は、バージョン管理されたリソースに次の必須プロパティを導入します。

3.2.1 DAV:checked-in (protected)
3.2.1 DAV:チェックイン(保護)

This property appears on a checked-in version-controlled resource, and identifies a version that has the same content and dead properties as the version-controlled resource. This property is removed when the resource is checked out, and then added back (identifying a new version) when the resource is checked back in.

このプロパティは、チェックインされたバージョン管理されたリソースに表示され、バージョン管理されたリソースと同じコンテンツと無効なプロパティを持つバージョンを識別します。このプロパティは、リソースがチェックアウトされると削除され、リソースがチェックインされると追加されます(新しいバージョンを識別します)。

   <!ELEMENT checked-in (href)>
        
3.2.2 DAV:auto-version
3.2.2 DAV:自動バージョン

If the DAV:auto-version value is DAV:checkout-checkin, when a modification request (such as PUT/PROPPATCH) is applied to a checked-in version-controlled resource, the request is automatically preceded by a checkout and followed by a checkin operation.

DAV:auto-version値がDAV:checkout-checkinの場合、変更要求(PUT / PROPPATCHなど)がチェックインされたバージョン管理されたリソースに適用されると、要求の前に自動的にチェックアウトが続き、その後にチェックイン操作。

If the DAV:auto-version value is DAV:checkout-unlocked-checkin, when a modification request is applied to a checked-in version-controlled resource, the request is automatically preceded by a checkout operation. If the resource is not write-locked, the request is automatically followed by a checkin operation.

DAV:auto-version値がDAV:checkout-unlocked-checkinの場合、変更要求がチェックインされたバージョン管理されたリソースに適用されると、要求の前に自動的にチェックアウト操作が行われます。リソースが書き込みロックされていない場合、要求の後に自動的にチェックイン操作が続きます。

If the DAV:auto-version value is DAV:checkout, when a modification request is applied to a checked-in version-controlled resource, the request is automatically preceded by a checkout operation.

DAV:auto-version値がDAV:checkoutの場合、チェックインされたバージョン管理されたリソースに変更要求が適用されると、要求の前に自動的にチェックアウト操作が行われます。

If the DAV:auto-version value is DAV:locked-checkout, when a modification request is applied to a write-locked checked-in version-controlled resource, the request is automatically preceded by a checkout operation.

DAV:auto-version値がDAV:locked-checkoutの場合、変更要求が書き込みロックされたチェックインバージョン管理リソースに適用されると、要求の前に自動的にチェックアウト操作が行われます。

If an update to a write-locked checked-in resource is automatically preceded by a checkout of that resource, the checkout is associated with the write lock. When this write lock is removed (e.g. from an UNLOCK or a lock timeout), if the resource has not yet been checked in, the removal of the write lock is automatically preceded by a checkin operation.

書き込みロックされたチェックインリソースへの更新の前に、そのリソースのチェックアウトが自動的に行われる場合、チェックアウトは書き込みロックに関連付けられます。この書き込みロックが削除されると(UNLOCKまたはロックタイムアウトなど)、リソースがまだチェックインされていない場合、書き込みロックの削除の前に、チェックイン操作が自動的に行われます。

A server MAY refuse to allow the value of the DAV:auto-version property to be modified, or MAY only support values from a subset of the valid values.

サーバーは、DAV:auto-versionプロパティの値の変更を許可しない場合があります。または、有効な値のサブセットの値のみをサポートする場合があります。

   <!ELEMENT auto-version (checkout-checkin | checkout-unlocked-checkin
     | checkout | locked-checkout)? >
   <!ELEMENT checkout-checkin EMPTY>
   <!ELEMENT checkout-unlocked-checkin EMPTY>
   <!ELEMENT checkout EMPTY>
   <!ELEMENT locked-checkout EMPTY>
        
3.3 Checked-Out Resource Properties
3.3 チェックアウトされたリソースのプロパティ

The version-control feature introduces the following REQUIRED properties for a checked-out resource.

バージョン管理機能は、チェックアウトされたリソースに次の必須プロパティを導入します。

3.3.1 DAV:checked-out (protected)
3.3.1 DAV:チェックアウト(保護)

This property identifies the version that was identified by the DAV:checked-in property at the time the resource was checked out. This property is removed when the resource is checked in.

このプロパティは、リソースがチェックアウトされたときにDAV:checked-inプロパティによって識別されたバージョンを識別します。このプロパティは、リソースがチェックインされると削除されます。

   <!ELEMENT checked-out (href)>
        
3.3.2 DAV:predecessor-set
3.3.2 DAV:先行セット

This property determines the DAV:predecessor-set property of the version that results from checking in this resource.

このプロパティは、このリソースをチェックインした結果のバージョンのDAV:predecessor-setプロパティを決定します。

A server MAY reject attempts to modify the DAV:predecessor-set of a version-controlled resource.

サーバーは、バージョン管理されたリソースのDAV:predecessor-setを変更する試みを拒否してもよい(MAY)。

   <!ELEMENT predecessor-set (href+)>
        
3.4 Version Properties
3.4 バージョンプロパティ

The version-control feature introduces the following REQUIRED properties for a version.

バージョン管理機能では、バージョンに次の必須プロパティが導入されています。

3.4.1 DAV:predecessor-set (protected)
3.4.1 DAV:先行セット(保護)

This property identifies each predecessor of this version. Except for the root version, which has no predecessors, each version has at least one predecessor.

このプロパティは、このバージョンの各先行バージョンを識別します。先行バージョンがないルートバージョンを除き、各バージョンには少なくとも1つの先行バージョンがあります。

   <!ELEMENT predecessor-set (href*)>
        
3.4.2 DAV:successor-set (computed)
3.4.2 DAV:後継者セット(計算済み)

This property identifies each version whose DAV:predecessor-set identifies this version.

このプロパティは、DAV:predecessor-setがこのバージョンを識別する各バージョンを識別します。

   <!ELEMENT successor-set (href*)>
        
3.4.3 DAV:checkout-set (computed)
3.4.3 DAV:チェックアウトセット(計算済み)

This property identifies each checked-out resource whose DAV:checked-out property identifies this version.

このプロパティは、DAV:checked-outプロパティがこのバージョンを識別する各チェックアウトリソースを識別します。

   <!ELEMENT checkout-set (href*)>
        
3.4.4 DAV:version-name (protected)
3.4.4 DAV:バージョン名(保護)

This property contains a server-defined string that is different for each version in a given version history. This string is intended for display for a user, unlike the URL of a version, which is normally only used by a client and not displayed for a user.

このプロパティには、特定のバージョン履歴のバージョンごとに異なるサーバー定義の文字列が含まれています。この文字列は、通常はクライアントのみが使用し、ユーザーには表示されないバージョンのURLとは異なり、ユーザーに表示するためのものです。

   <!ELEMENT version-name (#PCDATA)>
   PCDATA value: string
        
3.5 VERSION-CONTROL Method
3.5 VERSION-CONTROLメソッド

A VERSION-CONTROL request can be used to create a version-controlled resource at the request-URL. It can be applied to a versionable resource or to a version-controlled resource.

VERSION-CONTROL要求を使用して、request-URLにバージョン管理されたリソースを作成できます。バージョン管理可能なリソースまたはバージョン管理されたリソースに適用できます。

If the request-URL identifies a versionable resource, a new version history resource is created, a new version is created whose content and dead properties are copied from the versionable resource, and the resource is given a DAV:checked-in property that is initialized to identify this new version.

request-URLがバージョン管理可能なリソースを識別する場合、新しいバージョン履歴リソースが作成され、コンテンツとデッドプロパティがバージョン管理可能なリソースからコピーされた新しいバージョンが作成され、リソースには初期化されたDAV:checked-inプロパティが与えられますこの新しいバージョンを識別するため。

If the request-URL identifies a version-controlled resource, the resource just remains under version-control. This allows a client to be unaware of whether or not a server automatically puts a resource under version control when it is created.

request-URLがバージョン管理されたリソースを識別する場合、リソースはバージョン管理されたままになります。これにより、クライアントは、作成時にサーバーが自動的にリソースをバージョン管理下に置くかどうかを認識できません。

If a VERSION-CONTROL request fails, the server state preceding the request MUST be restored.

VERSION-CONTROL要求が失敗した場合、要求に先行するサーバー状態を復元する必要があります。

Marshalling:

マーシャリング:

If a request body is included, it MUST be a DAV:version-control XML element.

リクエストの本文が含まれている場合は、DAV:version-control XML要素である必要があります。

      <!ELEMENT version-control ANY>
        

If a response body for a successful request is included, it MUST be a DAV:version-control-response XML element. Note that this document does not define any elements for the VERSION-CONTROL response body, but the DAV:version-control-response element is defined to ensure interoperability between future extensions that do define elements for the VERSION-CONTROL response body.

成功したリクエストのレスポンスボディが含まれている場合、それはDAV:version-control-response XML要素である必要があります。このドキュメントではVERSION-CONTROLレスポンスボディの要素を定義していませんが、DAV:version-control-responseエレメントは、VERSION-CONTROLレスポンスボディの要素を定義する将来の拡張機能間の相互運用性を確保するために定義されています。

      <!ELEMENT version-control-response ANY>
        

Postconditions:

事後条件:

(DAV:put-under-version-control): If the request-URL identified a versionable resource at the time of the request, the request MUST have created a new version history and MUST have created a new version resource in that version history. The resource MUST have a DAV:checked-in property that identifies the new version. The content, dead properties, and DAV:resourcetype of the new version MUST be the same as those of the resource. Note that an implementation can choose to locate the version history and version resources anywhere that it wishes. In particular, it could locate them on the same host and server as the version-controlled resource, on a different virtual host maintained by the same server, on the same host maintained by a different server, or on a different host maintained by a different server.

(DAV:put-under-version-control):リクエスト時にリクエストURLがバージョン管理可能なリソースを識別した場合、リクエストは新しいバージョン履歴を作成し、そのバージョン履歴に新しいバージョンリソースを作成する必要があります。リソースには、新しいバージョンを識別するDAV:checked-inプロパティが必要です。新しいバージョンのコンテンツ、デッドプロパティ、およびDAV:resourcetypeは、リソースのものと同じでなければなりません。実装では、バージョン履歴とバージョンリソースを必要な場所に配置することを選択できることに注意してください。特に、バージョン管理されたリソースと同じホストとサーバー、同じサーバーが管理する別の仮想ホスト、別のサーバーが管理する同じホスト、または別のサーバーが管理する別のホストにそれらを配置できます。サーバ。

(DAV:must-not-change-existing-checked-in-out): If the request-URL identified a resource already under version control at the time of the request, the request MUST NOT change the DAV:checked-in or DAV:checked-out property of that version-controlled resource.

(DAV:must-not-change-existing-checked-in-out):リクエストURLがリクエスト時にすでにバージョン管理下にあるリソースを識別した場合、リクエストはDAV:checked-inまたはDAVを変更してはなりません(MUST NOT)そのバージョン管理されたリソースの:checked-outプロパティ。

3.5.1 Example - VERSION-CONTROL
3.5.1 例-VERSION-CONTROL

>>REQUEST

>>リクエスト

VERSION-CONTROL /foo.html HTTP/1.1 Host: www.webdav.org Content-Length: 0

VERSION-CONTROL /foo.html HTTP / 1.1 Host:www.webdav.org Content-Length:0

>>RESPONSE

>>応答

HTTP/1.1 200 OK

HTTP / 1.1 200 OK

In this example, /foo.html is put under version control. A new version history is created for it, and a new version is created that has a copy of the content and dead properties of /foo.html. The DAV:checked-in property of /foo.html identifies this new version.

この例では、/ foo.htmlがバージョン管理下に置かれています。新しいバージョン履歴が作成され、コンテンツのコピーと/foo.htmlの無効なプロパティを含む新しいバージョンが作成されます。 /foo.htmlのDAV:checked-inプロパティは、この新しいバージョンを識別します。

3.6 REPORT Method
3.6 REPORTメソッド

A REPORT request is an extensible mechanism for obtaining information about a resource. Unlike a resource property, which has a single value, the value of a report can depend on additional information specified in the REPORT request body and in the REPORT request headers.

REPORTリクエストは、リソースに関する情報を取得するための拡張可能なメカニズムです。単一の値を持つリソースプロパティとは異なり、レポートの値は、REPORTリクエストの本文とREPORTリクエストヘッダーで指定された追加情報に依存する可能性があります。

Marshalling:

マーシャリング:

The body of a REPORT request specifies which report is being requested, as well as any additional information that will be used to customize the report.

REPORTリクエストの本文では、リクエストするレポートと、レポートのカスタマイズに使用される追加情報を指定します。

The request MAY include a Depth header. If no Depth header is included, Depth:0 is assumed.

リクエストにはDepthヘッダーが含まれる場合があります。 Depthヘッダーが含まれていない場合、Depth:0が想定されます。

The response body for a successful request MUST contain the requested report.

成功した要求の応答本文には、要求されたレポートが含まれている必要があります。

If a Depth request header is included, the response MUST be a 207 Multi-Status. The request MUST be applied separately to the collection itself and to all members of the collection that satisfy the Depth value. The DAV:prop element of a DAV:response for a given resource MUST contain the requested report for that resource.

Depthリクエストヘッダーが含まれている場合、レスポンスは207 Multi-Statusである必要があります。リクエストは、コレクション自体と、深度値を満たすコレクションのすべてのメンバーに個別に適用する必要があります。特定のリソースのDAV:responseのDAV:prop要素には、そのリソースの要求されたレポートが含まれている必要があります。

Preconditions:

前提条件:

(DAV:supported-report): The specified report MUST be supported by the resource identified by the request-URL.

(DAV:supported-report):指定されたレポートは、request-URLによって識別されるリソースによってサポートされている必要があります。

Postconditions:

事後条件:

(DAV:no-modification): The REPORT method MUST NOT have changed the content or dead properties of any resource.

(DAV:no-modification):REPORTメソッドは、リソースのコンテンツまたはデッドプロパティを変更してはなりません。

3.7 DAV:version-tree Report
3.7 DAV:バージョンツリーレポート

The DAV:version-tree report describes the requested properties of all the versions in the version history of a version. If the report is requested for a version-controlled resource, it is redirected to its DAV:checked-in or DAV:checked-out version.

DAV:version-treeレポートは、バージョンのバージョン履歴内のすべてのバージョンの要求されたプロパティを示します。バージョン管理されたリソースのレポートが要求された場合、レポートはDAV:checked-inまたはDAV:checked-outバージョンにリダイレクトされます。

The DAV:version-tree report MUST be supported by all version resources and all version-controlled resources.

DAV:version-treeレポートは、すべてのバージョンリソースとすべてのバージョン管理リソースによってサポートされている必要があります。

Marshalling:

マーシャリング:

The request body MUST be a DAV:version-tree XML element.

リクエストの本文はDAV:version-tree XML要素である必要があります。

<!ELEMENT version-tree ANY> ANY value: a sequence of zero or more elements, with at most one DAV:prop element. prop: see RFC 2518, Section 12.11 The response body for a successful request MUST be a DAV:multistatus XML element.

<!ELEMENT version-tree ANY> ANY値:ゼロ以上の要素のシーケンス。最大で1つのDAV:prop要素。 prop:RFC 2518、セクション12.11を参照してください。成功したリクエストのレスポンス本文はDAV:multistatus XML要素である必要があります。

multistatus: see RFC 2518, Section 12.9

multistatus:RFC 2518、セクション12.9を参照

The response body for a successful DAV:version-tree REPORT request MUST contain a DAV:response element for each version in the version history of the version identified by the request-URL.

DAV:version-tree REPORTリクエストが成功した場合のレスポンスボディには、request-URLで識別されるバージョンのバージョン履歴にある各バージョンのDAV:response要素を含める必要があります。

3.7.1 Example - DAV:version-tree Report
3.7.1 例-DAV:version-treeレポート

The version history drawn below would produce the following version tree report.

以下に示すバージョン履歴は、次のバージョンツリーレポートを生成します。

foo.html History

foo.html歴史

                             +---+
                             |   | V1
                             +---+
                            /     \
                           /       \
                       +---+       +---+
                       |   | V2    |   | V2.1.1
                       +---+       +---+
        

>>REQUEST

>>リクエスト

     REPORT /foo.html HTTP/1.1
     Host: www.webdav.org
     Content-Type: text/xml; charset="utf-8"
     Content-Length: xxxx
        
     <?xml version="1.0" encoding="utf-8" ?>
     <D:version-tree xmlns:D="DAV:">
       <D:prop>
         <D:version-name/>
         <D:creator-displayname/>
         <D:successor-set/>
       </D:prop>
     </D:version-tree>
        

>>RESPONSE

>>応答

     HTTP/1.1 207 Multi-Status
     Content-Type: text/xml; charset="utf-8"
     Content-Length: xxxx
        
     <?xml version="1.0" encoding="utf-8" ?>
     <D:multistatus xmlns:D="DAV:">
       <D:response>
         <D:href>http://repo.webdav.org/his/23/ver/V1</D:href>
         <D:propstat>
           <D:prop>
             <D:version-name>V1</D:version-name>
             <D:creator-displayname>Fred</D:creator-displayname>
             <D:successor-set>
               <D:href>http://repo.webdav.org/his/23/ver/V2</D:href>
               <D:href>http://repo.webdav.org/his/23/ver/V2.1.1</D:href>
             </D:successor-set>
           </D:prop>
           <D:status>HTTP/1.1 200 OK</D:status>
         </D:propstat>
       </D:response>
       <D:response>
         <D:href>http://repo.webdav.org/his/23/ver/V2</D:href>
         <D:propstat>
           <D:prop>
             <D:version-name>V2</D:version-name>
             <D:creator-displayname>Fred</D:creator-displayname>
             <D:successor-set/>
           </D:prop>
           <D:status>HTTP/1.1 200 OK</D:status>
         </D:propstat>
       </D:response>
       <D:response>
         <D:href>http://repo.webdav.org/his/23/ver/V2.1.1</D:href>
         <D:propstat>
           <D:prop>
             <D:version-name>V2.1.1</D:version-name>
             <D:creator-displayname>Sally</D:creator-displayname>
             <D:successor-set/>
           </D:prop>
           <D:status>HTTP/1.1 200 OK</D:status>
         </D:propstat>
       </D:response>
     </D:multistatus>
        
3.8 DAV:expand-property Report
3.8 DAV:expand-propertyレポート

Many property values are defined as a DAV:href, or a set of DAV:href elements. The DAV:expand-property report provides a mechanism for retrieving in one request the properties from the resources identified by those DAV:href elements. This report not only decreases the number of requests required, but also allows the server to minimize the number of separate read transactions required on the underlying versioning store.

多くのプロパティ値は、DAV:hrefまたは一連のDAV:href要素として定義されます。 DAV:expand-propertyレポートは、DAV:href要素で識別されるリソースからプロパティを1つのリクエストで取得するためのメカニズムを提供します。このレポートは、必要な要求の数を減らすだけでなく、サーバーが、基になるバージョン管理ストアで必要な個別の読み取りトランザクションの数を最小限に抑えることもできます。

The DAV:expand-property report SHOULD be supported by all resources that support the REPORT method.

DAV:expand-propertyレポートは、REPORTメソッドをサポートするすべてのリソースによってサポートされる必要があります(SHOULD)。

Marshalling:

マーシャリング:

The request body MUST be a DAV:expand-property XML element.

リクエストの本文はDAV:expand-property XML要素である必要があります。

      <!ELEMENT expand-property (property*)>
      <!ELEMENT property (property*)>
      <!ATTLIST property name NMTOKEN #REQUIRED>
      name value: a property element type
      <!ATTLIST property namespace NMTOKEN "DAV:">
      namespace value: an XML namespace
        

The response body for a successful request MUST be a DAV:multistatus XML element.

成功した要求の応答本文は、DAV:multistatus XML要素である必要があります。

multistatus: see RFC 2518, Section 12.9

multistatus:RFC 2518、セクション12.9を参照

The properties reported in the DAV:prop elements of the DAV:multistatus element MUST be those identified by the DAV:property elements in the DAV:expand-property element. If there are DAV:property elements nested within a DAV:property element, then every DAV:href in the value of the corresponding property is replaced by a DAV:response element whose DAV:prop elements report the values of the properties identified by the nested DAV:property elements. The nested DAV:property elements can in turn contain DAV:property elements, so that multiple levels of DAV:href expansion can be requested.

DAV:multistatus要素のDAV:prop要素で報告されるプロパティは、DAV:expand-property要素のDAV:property要素で識別されるプロパティでなければなりません。 DAV:property要素内にネストされたDAV:property要素がある場合、対応するプロパティの値のすべてのDAV:hrefは、DAV:prop要素がネストされたプロパティによって識別されたプロパティの値を報告するDAV:response要素に置き換えられます。 DAV:プロパティ要素。ネストされたDAV:property要素にはDAV:property要素を含めることができるため、複数レベルのDAV:href展開を要求できます。

Note that a validating parser MUST be aware that the DAV:expand-property report effectively modifies the DTD of every property by replacing every occurrence of "href" in the DTD with "href | response".

検証パーサーは、DAV:expand-propertyレポートが、DTD内のすべての「href」を「href | response」で置き換えることにより、すべてのプロパティのDTDを効果的に変更することに注意する必要があることに注意してください。

3.8.1 Example - DAV:expand-property
3.8.1 例-DAV:expand-property

This example describes how to query a version-controlled resource to determine the DAV:creator-display-name and DAV:activity-set of every version in the version history of that version-controlled resource. This example assumes that the server supports the version-history feature (see Section 5).

この例では、バージョン管理されたリソースのクエリを実行して、そのバージョン管理されたリソースのバージョン履歴にあるすべてのバージョンのDAV:creator-display-nameおよびDAV:activity-setを確認する方法について説明します。この例では、サーバーがバージョン履歴機能をサポートしていることを前提としています(セクション5を参照)。

>>REQUEST

>>リクエスト

     REPORT /foo.html HTTP/1.1
     Host: www.webdav.org
     Content-Type: text/xml; charset="utf-8"
     Content-Length: xxxx
        
     <?xml version="1.0" encoding="utf-8" ?>
     <D:expand-property xmlns:D="DAV:">
       <D:property name="version-history">
         <D:property name="version-set">
           <D:property name="creator-displayname"/>
           <D:property name="activity-set"/>
         </D:property>
       </D:property>
     </D:expand-property>
        

>>RESPONSE

>>応答

     HTTP/1.1 207 Multi-Status
     Content-Type: text/xml; charset="utf-8"
     Content-Length: xxxx
        
     <?xml version="1.0" encoding="utf-8" ?>
     <D:multistatus xmlns:D="DAV:">
       <D:response>
         <D:href>http://www.webdav.org/foo.html</D:href>
         <D:propstat>
           <D:prop>
             <D:version-history>
               <D:response>
                 <D:href>http://repo.webdav.org/his/23</D:href>
                 <D:propstat>
                   <D:prop>
                     <D:version-set>
                       <D:response>
   <D:href>http://repo.webdav.org/his/23/ver/1</D:href>
                         <D:propstat>
                           <D:prop>
   <D:creator-displayname>Fred</D:creator-displayname>
        
                             <D:activity-set> <D:href>
                               http://www.webdav.org/ws/dev/sally
                             </D:href> </D:activity-set> </D:prop>
                           <D:status>HTTP/1.1 200 OK</D:status>
                         </D:propstat> </D:response>
                       <D:response>
   <D:href>http://repo.webdav.org/his/23/ver/2</D:href>
                         <D:propstat>
                           <D:prop>
   <D:creator-displayname>Sally</D:creator-displayname>
                             <D:activity-set>
   <D:href>http://repo.webdav.org/act/add-refresh-cmd</D:href>
                             </D:activity-set> </D:prop>
                           <D:status>HTTP/1.1 200 OK</D:status>
                         </D:propstat> </D:response>
                     </D:version-set> </D:prop>
                   <D:status>HTTP/1.1 200 OK</D:status>
                 </D:propstat> </D:response>
             </D:version-history> </D:prop>
           <D:status>HTTP/1.1 200 OK</D:status>
         </D:propstat> </D:response>
     </D:multistatus>
        

In this example, the DAV:creator-displayname and DAV:activity-set properties of the versions in the DAV:version-set of the DAV:version-history of http://www.webdav.org/foo.html are reported.

この例では、http://www.webdav.org/foo.htmlのDAV:version-historyのDAV:version-setにあるバージョンのDAV:creator-displaynameおよびDAV:activity-setプロパティが報告されます。

3.9 Additional OPTIONS Semantics
3.9 追加オプションセマンティクス

If the server supports the version-control feature, it MUST include "version-control" as a field in the DAV response header from an OPTIONS request on any resource that supports any versioning properties, reports, or methods.

サーバーがバージョン管理機能をサポートしている場合、バージョン管理のプロパティ、レポート、またはメソッドをサポートするリソースのOPTIONSリクエストからのDAV応答ヘッダーのフィールドとして「バージョン管理」を含める必要があります。

3.10 Additional PUT Semantics
3.10 追加のPUTセマンティクス

Additional Preconditions:

追加の前提条件:

(DAV:cannot-modify-version-controlled-content): If the request-URL identifies a resource with a DAV:checked-in property, the request MUST fail unless DAV:auto-version semantics will automatically check out the resource.

(DAV:cannot-modify-version-controlled-content):request-URLがDAV:checked-inプロパティを持つリソースを識別する場合、DAV:auto-versionセマンティクスがリソースを自動的にチェックアウトしない限り、リクエストは失敗する必要があります。

(DAV:cannot-modify-version): If the request-URL identifies a version, the request MUST fail.

(DAV:cannot-modify-version):リクエストURLがバージョンを識別する場合、リクエストは失敗する必要があります。

If the request creates a new resource that is automatically placed under version control, all preconditions for VERSION-CONTROL apply to the request.

要求が自動的にバージョン管理下に置かれる新しいリソースを作成する場合、VERSION-CONTROLのすべての前提条件が要求に適用されます。

Additional Postconditions:

追加の事後条件:

(DAV:auto-checkout): If the resource was a checked-in version-controlled resource whose DAV:auto-version property indicates it should be automatically checked out but not automatically checked in for a modification request, then the server MUST have automatically checked out the resource prior to executing the request. In particular, the value of the DAV:checked-out property of the resource MUST be that of the DAV:checked-in property prior to the request, the DAV:checked-in property MUST have been removed, and the DAV:predecessor-set property MUST be initialized to be the same as the DAV:checked-out property. If any part of the checkout/update sequence failed, the status from the failed part of the request MUST be returned, and the server state preceding the request sequence MUST be restored.

(DAV:auto-checkout):リソースがチェックインされたバージョン管理されたリソースであり、DAV:auto-versionプロパティが変更要求に対して自動的にチェックアウトする必要があるが、自動的にチェックインしないことを示す場合、サーバーは自動的にリクエストを実行する前にリソースをチェックアウトしました。特に、リソースのDAV:checked-outプロパティの値は、要求前のDAV:checked-inプロパティの値でなければならず、DAV:checked-inプロパティは削除されていなければならず、DAV:predecessor- setプロパティは、DAV:checked-outプロパティと同じになるように初期化する必要があります。チェックアウト/更新シーケンスのいずれかの部分が失敗した場合、リクエストの失敗した部分からのステータスを返さなければならず(MUST)、リクエストシーケンスの前のサーバー状態を復元する必要があります。

(DAV:auto-checkout-checkin): If the resource was a checked-in version-controlled resource whose DAV:auto-version property indicates it should be automatically checked out and automatically checked in for a modification request, then the server MUST have automatically checked out the resource prior to executing the request and automatically checked it in after the request. In particular, the DAV:checked-in property of the resource MUST identify a new version whose content and dead properties are the same as those of the resource. The DAV:predecessor-set of the new version MUST identify the version identified by the DAV:checked-in property prior to the request. If any part of the checkout/update/checkin sequence failed, the status from the failed part of the request MUST be returned, and the server state preceding the request sequence MUST be restored.

(DAV:auto-checkout-checkin):リソースがチェックインされたバージョン管理されたリソースであり、DAV:auto-versionプロパティが変更リクエストのために自動的にチェックアウトおよび自動的にチェックインする必要があることを示す場合、サーバーはリクエストを実行する前にリソースを自動的にチェックアウトし、リクエスト後に自動的にチェックインしました。特に、リソースのDAV:checked-inプロパティは、コンテンツとデッドプロパティがリソースのプロパティと同じである新しいバージョンを識別しなければなりません(MUST)。新しいバージョンのDAV:predecessor-setは、リクエストの前にDAV:checked-inプロパティで識別されるバージョンを識別しなければなりません(MUST)。チェックアウト/更新/チェックインシーケンスのいずれかの部分が失敗した場合、リクエストの失敗した部分からのステータスが返されなければならず、リクエストシーケンスの前のサーバー状態が復元されなければなりません(MUST)。

If the request creates a new resource, the new resource MAY have automatically been placed under version control, and all postconditions for VERSION-CONTROL apply to the request.

リクエストが新しいリソースを作成する場合、新しいリソースは自動的にバージョン管理下に置かれる場合があり、VERSION-CONTROLのすべての事後条件がリクエストに適用されます。

3.11 Additional PROPFIND Semantics
3.11 追加のPROPFINDセマンティクス

A DAV:allprop PROPFIND request SHOULD NOT return any of the properties defined by this document. This allows a versioning server to perform efficiently when a naive client, which does not understand the cost of asking a server to compute all possible live properties, issues a DAV:allprop PROPFIND request.

DAV:allprop PROPFINDリクエストは、このドキュメントで定義されているプロパティを返さないでください。これにより、サーバーにすべての可能なライブプロパティの計算を要求するコストを理解していない単純なクライアントがDAV:allprop PROPFIND要求を発行したときに、バージョン管理サーバーが効率的に実行できます。

Additional Preconditions:

追加の前提条件:

(DAV:supported-live-property): If the request attempts to access a property defined by this document, the semantics of that property MUST be supported by the server.

(DAV:supported-live-property):リクエストがこのドキュメントで定義されているプロパティへのアクセスを試みる場合、そのプロパティのセマンティクスがサーバーでサポートされている必要があります。

3.12 Additional PROPPATCH Semantics
3.12 追加のPROPPATCHセマンティクス

Additional Preconditions:

追加の前提条件:

(DAV:cannot-modify-version-controlled-property): If the request attempts to modify a dead property, same semantics as PUT (see Section 3.10).

(DAV:cannot-modify-version-controlled-property):リクエストが無効なプロパティを変更しようとした場合、PUTと同じセマンティクス(セクション3.10を参照)。

(DAV:cannot-modify-version): If the request attempts to modify a dead property, same semantics as PUT (see Section 3.10).

(DAV:cannot-modify-version):リクエストが無効なプロパティを変更しようとする場合、PUTと同じセマンティクス(セクション3.10を参照)。

(DAV:cannot-modify-protected-property): An attempt to modify a property that is defined by this document, as being protected for that kind of resource, MUST fail.

(DAV:cannot-modify-protected-property):このドキュメントで定義されているプロパティを変更しようとすると、その種類のリソースに対して保護されているため、失敗する必要があります。

(DAV:supported-live-property): An attempt to modify a property defined by this document, but whose semantics 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.

(DAV:supported-live-property):このドキュメントで定義されているプロパティを変更しようとしましたが、そのセマンティクスがサーバーによって強制されていないため、失敗する必要があります。これにより、サーバーでサポートされていないセマンティクスのプロパティを使用しようとしたときに、クライアントに確実に通知されます。

Additional Postconditions:

追加の事後条件:

(DAV:auto-checkout): If the request modified a dead property, same semantics as PUT (see Section 3.10).

(DAV:auto-checkout):リクエストがデッドプロパティを変更した場合、PUTと同じセマンティクス(セクション3.10を参照)。

(DAV:auto-checkout-checkin): If the request modified a dead property, same semantics as PUT (see Section 3.10).

(DAV:auto-checkout-checkin):リクエストが無効なプロパティを変更した場合、PUTと同じセマンティクス(セクション3.10を参照)。

3.13 Additional DELETE Semantics
3.13 追加のDELETEセマンティクス

Additional Preconditions:

追加の前提条件:

(DAV:no-version-delete): A server MAY fail an attempt to DELETE a version.

(DAV:no-version-delete):サーバーは、バージョンを削除する試みに失敗する場合があります。

Additional Postconditions:

追加の事後条件:

(DAV:update-predecessor-set): If a version was deleted, the server MUST have replaced any reference to that version in a DAV:predecessor-set by a copy of the DAV:predecessor-set of the deleted version.

(DAV:update-predecessor-set):バージョンが削除された場合、サーバーは、DAV:predecessor-set内のそのバージョンへの参照を、削除されたバージョンのDAV:predecessor-setのコピーで置き換えている必要があります。

3.14 Additional COPY Semantics
3.14 追加のCOPYセマンティクス

Additional Preconditions:

追加の前提条件:

If the request creates a new resource that is automatically placed under version control, all preconditions for VERSION-CONTROL apply to the request.

要求が自動的にバージョン管理下に置かれる新しいリソースを作成する場合、VERSION-CONTROLのすべての前提条件が要求に適用されます。

Additional Postconditions:

追加の事後条件:

(DAV:must-not-copy-versioning-property): A property defined by this document MUST NOT have been copied to the new resource created by this request, but instead that property of the new resource MUST have the default initial value it would have had if the new resource had been created by a non-versioning method such as PUT or a MKCOL.

(DAV:must-not-copy-versioning-property):このドキュメントで定義されたプロパティは、このリクエストによって作成された新しいリソースにコピーされてはいけません。代わりに、新しいリソースのプロパティはデフォルトの初期値を持つ必要があります新しいリソースがPUTやMKCOLなどの非バージョニングメソッドによって作成されていた場合に発生しました。

(DAV:auto-checkout): If the destination is a version-controlled resource, same semantics as PUT (see Section 3.10).

(DAV:auto-checkout):宛先がバージョン管理されたリソースの場合、PUTと同じセマンティクス(セクション3.10を参照)。

(DAV:auto-checkout-checkin): If the destination is a version-controlled resource, same semantics as PUT (see Section 3.10).

(DAV:auto-checkout-checkin):宛先がバージョン管理されたリソースの場合、PUTと同じセマンティクス(セクション3.10を参照)。

(DAV:copy-creates-new-resource): If the source of a COPY is a version-controlled resource or version, and if there is no resource at the destination of the COPY, then the COPY creates a new non-version-controlled resource at the destination of the COPY. The new resource MAY automatically be put under version control, but the resulting version-controlled resource MUST be associated with a new version history created for that new version-controlled resource, and all postconditions for VERSION-CONTROL apply to the request.

(DAV:copy-creates-new-resource):COPYのソースがバージョン管理されたリソースまたはバージョンであり、COPYの宛先にリソースがない場合、COPYは新しい非バージョンのリソースを作成しますCOPYの宛先で制御されるリソース。新しいリソースは自動的にバージョン管理下に置かれる場合がありますが、結果のバージョン管理されたリソースは、その新しいバージョン管理されたリソース用に作成された新しいバージョン履歴に関連付けられている必要があり、VERSION-CONTROLのすべての事後条件がリクエストに適用されます。

3.15 Additional MOVE Semantics
3.15 追加のMOVEセマンティクス

Additional Preconditions:

追加の前提条件:

(DAV:cannot-rename-version): If the request-URL identifies a version, the request MUST fail.

(DAV:cannot-rename-version):リクエストURLがバージョンを識別する場合、リクエストは失敗する必要があります。

Additional Postconditions:

追加の事後条件:

(DAV:preserve-versioning-properties): When a resource is moved from a source URL to a destination URL, a property defined by this document MUST have the same value at the destination URL as it had at the source URL.

(DAV:preserve-versioning-properties):リソースがソースURLから宛先URLに移動される場合、このドキュメントで定義されているプロパティは、ソースURLと同じ値を宛先URLに持っている必要があります。

3.16 Additional UNLOCK Semantics
3.16 追加のUNLOCKセマンティクス

Note that these semantics apply both to an explicit UNLOCK request, as well as to the removal of a lock because of a lock timeout. If a precondition or postcondition cannot be satisfied, the lock timeout MUST NOT occur.

これらのセマンティクスは、明示的なUNLOCK要求と、ロックタイムアウトによるロックの削除の両方に適用されることに注意してください。前提条件または事後条件が満たされない場合、ロックタイムアウトが発生してはなりません(MUST NOT)。

Additional Preconditions:

追加の前提条件:

(DAV:version-history-is-tree): If the request-URL identifies a checked-out version-controlled resource that will be automatically checked in when the lock is removed, then the versions identified by the DAV:predecessor-set of the checked-out resource MUST be descendants of the root version of the version history for the DAV:checked-out version.

(DAV:version-history-is-tree):request-URLが、ロックが解除されたときに自動的にチェックインされる、チェックアウトされたバージョン管理されたリソースを識別する場合、DAV:predecessor-set ofチェックアウトされたリソースは、DAV:チェックアウトされたバージョンのバージョン履歴のルートバージョンの子孫である必要があります。

Additional Postconditions:

追加の事後条件:

(DAV:auto-checkin): If the request-URL identified a checked-out version-controlled resource that had been automatically checked out because of its DAV:auto-version property, the request MUST have created a new version in the version history of the DAV:checked-out version. The request MUST have allocated a URL for the version that MUST NOT have previously identified any other resource, and MUST NOT ever identify a resource other than this version. The content, dead properties, DAV:resourcetype, and DAV:predecessor-set of the new version MUST be copied from the checked-out resource. The DAV:version-name of the new version MUST be set to a server-defined value distinct from all other DAV:version-name values of other versions in the same version history. The request MUST have removed the DAV:checked-out property of the version-controlled resource, and MUST have added a DAV:checked-in property that identifies the new version.

(DAV:auto-checkin):リクエストURLが、DAV:auto-versionプロパティが原因で自動的にチェックアウトされた、チェックアウトされたバージョン管理リソースを識別した場合、リクエストはバージョン履歴に新しいバージョンを作成している必要がありますDAV:チェックアウトバージョンの。リクエストは、以前に他のリソースを識別してはならないバージョンにURLを割り当てなければならず、このバージョン以外のリソースを識別してはなりません。新しいバージョンのコンテンツ、無効なプロパティ、DAV:resourcetype、およびDAV:predecessor-setは、チェックアウトされたリソースからコピーする必要があります。新しいバージョンのDAV:version-nameは、同じバージョン履歴内の他のバージョンの他のすべてのDAV:version-name値とは異なるサーバー定義の値に設定する必要があります。リクエストは、バージョン管理されたリソースのDAV:checked-outプロパティを削除しなければならず、新しいバージョンを識別するDAV:checked-inプロパティを追加しなければなりません(MUST)。

4 CHECKOUT-IN-PLACE FEATURE

4チェックアウトインプレイス機能

With the version-control feature, WebDAV locking can be used to avoid the proliferation of versions that would result if every modification to a version-controlled resource produced a new version. The checkout-in-place feature provides an alternative mechanism that allows a client to explicitly check out and check in a resource to create a new version.

バージョン管理機能を使用すると、WebDAVロックを使用して、バージョン管理されたリソースに対するすべての変更が新しいバージョンを生成した場合に発生するバージョンの急増を回避できます。チェックアウトインプレース機能は、クライアントがリソースを明示的にチェックアウトおよびチェックインして新しいバージョンを作成できるようにする代替メカニズムを提供します。

4.1 Additional Version Properties
4.1 追加のバージョンプロパティ

The checkout-in-place feature introduces the following REQUIRED properties for a version.

チェックアウトインプレイス機能では、バージョンに次の必須プロパティが導入されています。

4.1.1 DAV:checkout-fork
4.1.1 DAV:Hescoteフォーク

This property controls the behavior of CHECKOUT when a version already is checked out or has a successor. If the DAV:checkout-fork of a version is DAV:forbidden, a CHECKOUT request MUST fail if it would result in that version appearing in the DAV:predecessor-set or DAV:checked-out property of more than one version or checked-out resource. If DAV:checkout-fork is DAV:discouraged, such a CHECKOUT request MUST fail unless DAV:fork-ok is specified in the CHECKOUT request body.

このプロパティは、バージョンが既にチェックアウトされている場合、またはバージョンに後続がある場合のCHECKOUTの動作を制御します。バージョンのDAV:checkout-forkがDAV:forbiddenである場合、そのバージョンが複数のバージョンのDAV:predecessor-setまたはDAV:checked-outプロパティに表示されるか、チェックされた場合、CHECKOUTリクエストは失敗する必要があります。リソース。 DAV:checkout-forkがDAV:discouragedである場合、CHECKOUTリクエストの本文でDAV:fork-okが指定されていない限り、そのようなCHECKOUTリクエストは失敗する必要があります。

A server MAY reject attempts to modify the DAV:checkout-fork of a version.

サーバーは、バージョンのDAV:checkout-forkを変更する試みを拒否してもよい(MAY)。

   <!ELEMENT checkout-fork ANY>
   ANY value: A sequence of elements with at most one DAV:discouraged
   or DAV:forbidden element.
   <!ELEMENT discouraged EMPTY>
   <!ELEMENT forbidden EMPTY>
        
4.1.2 DAV:checkin-fork
4.1.2 DAV:チェックインフォーク

This property controls the behavior of CHECKIN when a version already has a successor. If the DAV:checkin-fork of a version is DAV:forbidden, a CHECKIN request MUST fail if it would result in that version appearing in the DAV:predecessor-set of more than one version. If DAV:checkin-fork is DAV:discouraged, such a CHECKIN request MUST fail unless DAV:fork-ok is specified in the CHECKIN request body.

このプロパティは、バージョンにすでに後続がある場合のCHECKINの動作を制御します。バージョンのDAV:checkin-forkがDAV:forbiddenである場合、そのバージョンが複数のバージョンのDAV:predecessor-setに表示される結果となる場合、CHECKIN要求は失敗する必要があります。 DAV:checkin-forkがDAV:discouragedである場合、CHECKINリクエストの本文でDAV:fork-okが指定されていない限り、そのようなCHECKINリクエストは失敗する必要があります。

A server MAY reject attempts to modify the DAV:checkout-fork of a version.

サーバーは、バージョンのDAV:checkout-forkを変更する試みを拒否してもよい(MAY)。

   <!ELEMENT checkin-fork ANY>
   ANY value: A sequence of elements with at most one DAV:discouraged
   or DAV:forbidden element.
   <!ELEMENT discouraged EMPTY>
   <!ELEMENT forbidden EMPTY>
        
4.2 Checked-Out Resource Properties
4.2 チェックアウトされたリソースのプロパティ

The checkout-in-place feature introduces the following REQUIRED properties for a checked-out resource.

チェックアウトインプレイス機能は、チェックアウトされたリソースに次の必須プロパティを導入します。

4.2.1 DAV:checkout-fork
4.2.1 DAV:Hescoteフォーク

This property determines the DAV:checkout-fork property of the version that results from checking in this resource.

このプロパティは、このリソースをチェックインした結果のバージョンのDAV:checkout-forkプロパティを決定します。

4.2.2 DAV:checkin-fork
4.2.2 DAV:チェックインフォーク

This property determines the DAV:checkin-fork property of the version that results from checking in this resource.

このプロパティは、このリソースをチェックインした結果のバージョンのDAV:checkin-forkプロパティを決定します。

4.3 CHECKOUT Method (applied to a version-controlled resource)
4.3 CHECKOUTメソッド(バージョン管理されたリソースに適用)

A CHECKOUT request can be applied to a checked-in version-controlled resource to allow modifications to the content and dead properties of that version-controlled resource.

チェックインされたバージョン管理されたリソースにCHECKOUT要求を適用して、そのバージョン管理されたリソースの内容と無効なプロパティを変更できます。

If a CHECKOUT request fails, the server state preceding the request MUST be restored.

CHECKOUTリクエストが失敗した場合、リクエストの前のサーバー状態を復元する必要があります。

Marshalling:

マーシャリング:

If a request body is included, it MUST be a DAV:checkout XML element.

リクエストの本文が含まれている場合、DAV:checkout XML要素である必要があります。

      <!ELEMENT checkout ANY>
        

ANY value: A sequence of elements with at most one DAV:fork-ok element.

ANY値:DAV:fork-ok要素が最大で1つある一連の要素。

      <!ELEMENT fork-ok EMPTY>
        

If a response body for a successful request is included, it MUST be a DAV:checkout-response XML element.

成功したリクエストのレスポンスボディが含まれている場合、それはDAV:checkout-response XML要素である必要があります。

      <!ELEMENT checkout-response ANY>
        

The response MUST include a Cache-Control:no-cache header.

応答には、Cache-Control:no-cacheヘッダーを含める必要があります。

Preconditions:

前提条件:

(DAV:must-be-checked-in): If a version-controlled resource is being checked out, it MUST have a DAV:checked-in property.

(DAV:must-be-checked-in):バージョン管理されたリソースがチェックアウトされている場合、DAV:checked-inプロパティが必要です。

(DAV:checkout-of-version-with-descendant-is-forbidden): If the DAV:checkout-fork property of the version being checked out is DAV:forbidden, the request MUST fail if a version identifies that version in its DAV:predecessor-set.

(DAV:checkout-of-version-with-descendant-is-forbidden):チェックアウトされるバージョンのDAV:checkout-forkプロパティがDAV:forbiddenである場合、バージョンがDAVでそのバージョンを識別している場合、リクエストは失敗する必要があります:predecessor-set。

(DAV:checkout-of-version-with-descendant-is-discouraged): If the DAV:checkout-fork property of the version being checked out is DAV:discouraged, the request MUST fail if a version identifies that version in its DAV:predecessor-set unless DAV:fork-ok is specified in the request body.

(DAV:checkout-of-version-with-descendant-is-discouraged):チェックアウトされているバージョンのDAV:checkout-forkプロパティがDAV:discouragedである場合、バージョンがDAVでそのバージョンを識別している場合、リクエストは失敗する必要があります:リクエストボディでDAV:fork-okが指定されていない限り、:predecessor-set。

(DAV:checkout-of-checked-out-version-is-forbidden): If the DAV:checkout-fork property of the version being checked out is DAV:forbidden, the request MUST fail if a checked-out resource identifies that version in its DAV:checked-out property.

(DAV:checkout-of-checked-out-version-is-forbidden):チェックアウトされるバージョンのDAV:checkout-forkプロパティがDAV:forbiddenである場合、チェックアウトされたリソースがそのバージョンを識別している場合、リクエストは失敗する必要がありますDAV:checked-outプロパティで。

(DAV:checkout-of-checked-out-version-is-discouraged): If the DAV:checkout-fork property of the version being checked out is DAV:discouraged, the request MUST fail if a checked-out resource identifies that version in its DAV:checked-out property unless DAV:fork-ok is specified in the request body.

(DAV:checkout-of-checked-out-version-is-discouraged):チェックアウトされるバージョンのDAV:checkout-forkプロパティがDAV:discouragedである場合、チェックアウトされたリソースがそのバージョンを識別している場合、リクエストは失敗する必要がありますリクエストの本文でDAV:fork-okが指定されていない限り、DAV:checked-outプロパティ内。

Postconditions:

事後条件:

(DAV:is-checked-out): The checked-out resource MUST have a DAV:checked-out property that identifies the DAV:checked-in version preceding the checkout. The version-controlled resource MUST NOT have a DAV:checked-in property.

(DAV:is-checked-out):チェックアウトされたリソースには、チェックアウト前のDAV:checked-inバージョンを識別するDAV:checked-outプロパティが必要です。バージョン管理されたリソースにDAV:checked-inプロパティがあってはなりません。

(DAV:initialize-predecessor-set): The DAV:predecessor-set property of the checked-out resource MUST be initialized to be the DAV:checked-out version.

(DAV:initialize-predecessor-set):チェックアウトされたリソースのDAV:predecessor-setプロパティは、DAV:checked-outバージョンに初期化される必要があります。

4.3.1 Example - CHECKOUT of a version-controlled resource
4.3.1 例-バージョン管理されたリソースのチェックアウト

>>REQUEST

>>リクエスト

CHECKOUT /foo.html HTTP/1.1 Host: www.webdav.org Content-Length: 0

チェックアウト/foo.html HTTP / 1.1ホスト:www.webdav.org Content-Length:0

>>RESPONSE

>>応答

HTTP/1.1 200 OK Cache-Control: no-cache

HTTP / 1.1 200 OK Cache-Control:no-cache

In this example, the version-controlled resource /foo.html is checked out.

この例では、バージョン管理されたリソース/foo.htmlがチェックアウトされています。

4.4 CHECKIN Method (applied to a version-controlled resource)
4.4 CHECKINメソッド(バージョン管理されたリソースに適用)

A CHECKIN request can be applied to a checked-out version-controlled resource to produce a new version whose content and dead properties are copied from the checked-out resource.

チェックアウトされたバージョン管理されたリソースにCHECKINリクエストを適用して、チェックアウトされたリソースからコンテンツとデッドプロパティがコピーされた新しいバージョンを作成できます。

If a CHECKIN request fails, the server state preceding the request MUST be restored.

CHECKIN要求が失敗した場合は、要求の前のサーバー状態を復元する必要があります。

Marshalling:

マーシャリング:

If a request body is included, it MUST be a DAV:checkin XML element.

リクエストの本文が含まれている場合、DAV:checkin XML要素である必要があります。

<!ELEMENT checkin ANY> ANY value: A sequence of elements with at most one DAV:keep-checked-out element and at most one DAV:fork-ok element.

<!ELEMENT checkin ANY> ANY値:最大で1つのDAV:keep-checked-out要素と最大で1つのDAV:fork-ok要素を持つ一連の要素。

      <!ELEMENT keep-checked-out EMPTY>
      <!ELEMENT fork-ok EMPTY>
        

If a response body for a successful request is included, it MUST be a DAV:checkin-response XML element.

成功したリクエストのレスポンスボディが含まれている場合、それはDAV:checkin-response XML要素である必要があります。

      <!ELEMENT checkin-response ANY>
        

The response MUST include a Cache-Control:no-cache header.

応答には、Cache-Control:no-cacheヘッダーを含める必要があります。

Preconditions:

前提条件:

(DAV:must-be-checked-out): The request-URL MUST identify a resource with a DAV:checked-out property.

(DAV:must-be-checked-out):request-URLは、DAV:checked-outプロパティでリソースを識別しなければなりません(MUST)。

(DAV:version-history-is-tree) The versions identified by the DAV:predecessor-set of the checked-out resource MUST be descendants of the root version of the version history for the DAV:checked-out version.

(DAV:version-history-is-tree)チェックアウトされたリソースのDAV:predecessor-setによって識別されるバージョンは、DAV:checked-outバージョンのバージョン履歴のルートバージョンの子孫である必要があります。

(DAV:checkin-fork-forbidden): A CHECKIN request MUST fail if it would cause a version whose DAV:checkin-fork is DAV:forbidden to appear in the DAV:predecessor-set of more than one version.

(DAV:checkin-fork-forbidden):DAV:checkin-forkがDAV:forbiddenであるバージョンが複数のバージョンのDAV:predecessor-setに表示される場合、CHECKINリクエストは失敗する必要があります。

(DAV:checkin-fork-discouraged): A CHECKIN request MUST fail if it would cause a version whose DAV:checkin-fork is DAV:discouraged to appear in the DAV:predecessor-set of more than one version, unless DAV:fork-ok is specified in the request body.

(DAV:checkin-fork-discouraged):DAV:forkを除いて、DAV:checkin-forkがDAV:discouragedであるバージョンが複数のバージョンのDAV:predecessor-setに表示される場合、CHECKINリクエストは失敗する必要があります。 -okはリクエストボディで指定されます。

Postconditions:

事後条件:

(DAV:create-version): The request MUST have created a new version in the version history of the DAV:checked-out version. The request MUST have allocated a distinct new URL for the new version, and that URL MUST NOT ever identify any resource other than that version. The URL for the new version MUST be returned in a Location response header.

(DAV:create-version):リクエストにより、DAV:checked-outバージョンのバージョン履歴に新しいバージョンが作成されている必要があります。リクエストは新しいバージョンに別個の新しいURLを割り当てている必要があり、そのURLはそのバージョン以外のリソースを識別してはなりません。新しいバージョンのURLは、Location応答ヘッダーで返される必要があります。

(DAV:initialize-version-content-and-properties): The content, dead properties, DAV:resourcetype, and DAV:predecessor-set of the new version MUST be copied from the checked-out resource. The DAV:version-name of the new version MUST be set to a server-defined value distinct from all other DAV:version-name values of other versions in the same version history.

(DAV:initialize-version-content-and-properties):新しいバージョンのコンテンツ、無効なプロパティ、DAV:resourcetype、およびDAV:predecessor-setは、チェックアウトされたリソースからコピーする必要があります。新しいバージョンのDAV:version-nameは、同じバージョン履歴内の他のバージョンの他のすべてのDAV:version-name値とは異なるサーバー定義の値に設定する必要があります。

(DAV:checked-in): If the request-URL identifies a version-controlled resource and DAV:keep-checked-out is not specified in the request body, the DAV:checked-out property of the version-controlled resource MUST have been removed and a DAV:checked-in property that identifies the new version MUST have been added.

(DAV:checked-in):request-URLがバージョン管理されたリソースを識別し、DAV:keep-checked-outがリクエスト本文で指定されていない場合、バージョン管理されたリソースのDAV:checked-outプロパティは削除され、新しいバージョンを識別するDAV:checked-inプロパティが追加されている必要があります。

(DAV:keep-checked-out): If DAV:keep-checked-out is specified in the request body, the DAV:checked-out property of the checked-out resource MUST have been updated to identify the new version.

(DAV:keep-checked-out):リクエストの本文にDAV:keep-checked-outが指定されている場合、チェックアウトされたリソースのDAV:checked-outプロパティは、新しいバージョンを識別するように更新されている必要があります。

4.4.1 Example - CHECKIN
4.4.1 例-チェックイン

>>REQUEST

>>リクエスト

CHECKIN /foo.html HTTP/1.1 Host: www.webdav.org Content-Length: 0

CHECKIN /foo.html HTTP / 1.1 Host:www.webdav.org Content-Length:0

>>RESPONSE

>>応答

     HTTP/1.1 201 Created
     Location: http://repo.webdav.org/his/23/ver/32
     Cache-Control: no-cache
        

In this example, version-controlled resource /foo.html is checked in, and a new version is created at http://repo.webdav.org/his/23/ver/32.

この例では、バージョン管理されたリソース/foo.htmlがチェックインされ、新しいバージョンがhttp://repo.webdav.org/his/23/ver/32に作成されます。

4.5 UNCHECKOUT Method
4.5 UNCHECKOUTメソッド

An UNCHECKOUT request can be applied to a checked-out version-controlled resource to cancel the CHECKOUT and restore the pre-CHECKOUT state of the version-controlled resource.

UNCHECKOUT要求をチェックアウトしたバージョン管理リソースに適用して、CHECKOUTをキャンセルし、バージョン管理リソースのチェックアウト前の状態に戻すことができます。

If an UNCHECKOUT request fails, the server MUST undo any partial effects of the UNCHECKOUT request.

UNCHECKOUT要求が失敗した場合、サーバーは、UNCHECKOUT要求の部分的な影響を取り消す必要があります。

Marshalling:

マーシャリング:

If a request body is included, it MUST be a DAV:uncheckout XML element.

リクエストの本文が含まれている場合、DAV:uncheckout XML要素である必要があります。

      <!ELEMENT uncheckout ANY>
        

If a response body for a successful request is included, it MUST be a DAV:uncheckout-response XML element.

成功した要求の応答本文が含まれている場合、それはDAV:uncheckout-response XML要素でなければなりません。

      <!ELEMENT uncheckout-response ANY>
        

The response MUST include a Cache-Control:no-cache header.

応答には、Cache-Control:no-cacheヘッダーを含める必要があります。

Preconditions:

前提条件:

(DAV:must-be-checked-out-version-controlled-resource): The request-URL MUST identify a version-controlled resource with a DAV:checked-out property.

(DAV:must-be-checked-out-version-controlled-resource):リクエストURLは、DAV:checked-outプロパティでバージョン管理されたリソースを識別しなければなりません(MUST)。

Postconditions:

事後条件:

(DAV:cancel-checked-out): The value of the DAV:checked-in property is that of the DAV:checked-out property prior to the request, and the DAV:checked-out property has been removed.

(DAV:cancel-checked-out):DAV:checked-inプロパティの値は、リクエスト前のDAV:checked-outプロパティの値であり、DAV:checked-outプロパティは削除されました。

(DAV:restore-content-and-dead-properties): The content and dead properties of the version-controlled resource are copies of its DAV:checked-in version.

(DAV:restore-content-and-dead-properties):バージョン管理されたリソースのコンテンツとデッドプロパティは、そのDAV:checked-inバージョンのコピーです。

4.5.1 Example - UNCHECKOUT
4.5.1 例-UNCHECKOUT

>>REQUEST

>>リクエスト

UNCHECKOUT /foo.html HTTP/1.1 Host: www.webdav.org Content-Length: 0

UNCHECKOUT /foo.html HTTP / 1.1 Host:www.webdav.org Content-Length:0

>>RESPONSE

>>応答

HTTP/1.1 200 OK Cache-Control: no-cache

HTTP / 1.1 200 OK Cache-Control:no-cache

In this example, the content and dead properties of the version-controlled resource identified by http://www.webdav.org/foo.html are restored to their values preceding the most recent CHECKOUT of that version-controlled resource.

この例では、http://www.webdav.org/foo.htmlによって識別されるバージョン管理されたリソースのコンテンツとデッドプロパティは、そのバージョン管理されたリソースの最新のCHECKOUTの前の値に復元されます。

4.6 Additional OPTIONS Semantics
4.6 追加オプションセマンティクス

If a server supports the checkout-in-place feature, it MUST include "checkout-in-place" as a field in the DAV response header from an OPTIONS request on any resource that supports any versioning properties, reports, or methods.

サーバーがチェックアウトインプレイス機能をサポートしている場合、バージョニングプロパティ、レポート、またはメソッドをサポートするリソースのOPTIONSリクエストからのDAV応答ヘッダーのフィールドとして「チェックアウトインプレイス」を含める必要があります。

5 Version-History Feature

5バージョン履歴機能

It is often useful to have access to a version history even after all version-controlled resources for that version history have been deleted. A server can provide this functionality by supporting version history resources. A version history resource is a resource that exists in a server defined namespace and therefore is unaffected by any deletion or movement of version-controlled resources. A version history resource is an appropriate place to add a property that logically applies to all states of a resource. The DAV:expand-property report (see Section 3.8) can be applied to the DAV:version-set of a version history resource to provide a variety of useful reports on all versions in that version history.

バージョン履歴のバージョン管理されたリソースがすべて削除された後でも、バージョン履歴にアクセスできると便利な場合があります。サーバーは、バージョン履歴リソースをサポートすることにより、この機能を提供できます。バージョン履歴リソースは、サーバー定義の名前空間に存在するリソースであるため、バージョン管理されたリソースの削除や移動による影響を受けません。バージョン履歴リソースは、リソースのすべての状態に論理的に適用されるプロパティを追加するための適切な場所です。 DAV:expand-propertyレポート(セクション3.8を参照)をバージョン履歴リソースのDAV:version-setに適用して、そのバージョン履歴のすべてのバージョンに関するさまざまな有用なレポートを提供できます。

5.1 Version History Properties
5.1 バージョン履歴のプロパティ

The DAV:resourcetype of a version history MUST be DAV:version-history.

バージョン履歴のDAV:resourcetypeはDAV:version-historyでなければなりません。

The version-history feature introduces the following REQUIRED properties for a version history.

バージョン履歴機能では、バージョン履歴に次の必須プロパティが導入されています。

5.1.1 DAV:version-set (protected)
5.1.1 DAV:バージョンセット(保護)

This property identifies each version of this version history.

このプロパティは、このバージョン履歴の各バージョンを識別します。

   <!ELEMENT version-set (href+)>
        
5.1.2 DAV:root-version (computed)
5.1.2 DAV:root-version(計算済み)

This property identifies the root version of this version history.

このプロパティは、このバージョン履歴のルートバージョンを識別します。

   <!ELEMENT root-version (href)>
        
5.2 Additional Version-Controlled Resource Properties
5.2 追加のバージョン管理されたリソースプロパティ

The version-history feature introduces the following REQUIRED property for a version-controlled resource.

バージョン履歴機能は、バージョン管理されたリソースに次の必須プロパティを導入します。

5.2.1 DAV:version-history (computed)
5.2.1 DAV:version-history(計算済み)

This property identifies the version history resource for the DAV:checked-in or DAV:checked-out version of this version-controlled resource.

このプロパティは、このバージョン管理されたリソースのDAV:checked-inまたはDAV:checked-outバージョンのバージョン履歴リソースを識別します。

   <!ELEMENT version-history (href)>
        
5.3 Additional Version Properties
5.3 追加のバージョンプロパティ

The version-history feature introduces the following REQUIRED property for a version.

バージョン履歴機能では、バージョンに次の必須プロパティが導入されています。

5.3.1 DAV:version-history (computed)
5.3.1 DAV:version-history(計算済み)

This property identifies the version history that contains this version.

このプロパティは、このバージョンを含むバージョン履歴を識別します。

   <!ELEMENT version-history (href)>
        
5.4 DAV:locate-by-history Report
5.4 DAV:ヒストリ検索レポート

Many properties identify a version from some version history. It is often useful to be able to efficiently locate a version-controlled resource for that version history. The DAV:locate-by-history report can be applied to a collection to locate the collection member that is a version-controlled resource for a specified version history resource.

多くのプロパティは、いくつかのバージョン履歴からバージョンを識別します。多くの場合、そのバージョン履歴のバージョン管理されたリソースを効率的に見つけることができると便利です。 DAV:locate-by-historyレポートをコレクションに適用して、指定されたバージョン履歴リソースのバージョン管理されたリソースであるコレクションメンバーを見つけることができます。

Marshalling:

マーシャリング:

The request body MUST be a DAV:locate-by-history XML element.

リクエストの本文はDAV:locate-by-history XML要素である必要があります。

      <!ELEMENT locate-by-history (version-history-set, prop)>
      <!ELEMENT version-history-set (href+)>
      prop: see RFC 2518, Section 12.11
        

The response body for a successful request MUST be a DAV:multistatus XML element containing every version-controlled resource that is a member of the collection identified by the request-URL, and whose DAV:version-history property identifies one of the version history resources identified by the request body. The DAV:prop element in the request body identifies which properties should be reported in the DAV:prop elements in the response body.

成功したリクエストのレスポンスボディは、リクエストURLによって識別されるコレクションのメンバーであるすべてのバージョン管理されたリソースを含むDAV:multistatus XML要素である必要があり、そのDAV:version-historyプロパティはバージョン履歴リソースの1つを識別しますリクエストボディによって識別されます。リクエスト本文のDAV:prop要素は、レスポンス本文のDAV:prop要素で報告する必要があるプロパティを識別します。

Preconditions:

前提条件:

(DAV:must-be-version-history): Each member of the DAV:version-history-set element in the request body MUST identify a version history resource.

(DAV:must-be-version-history):リクエスト本文のDAV:version-history-set要素の各メンバーは、バージョン履歴リソースを識別しなければなりません(MUST)。

5.4.1 Example - DAV:locate-by-history Report
5.4.1 例-DAV:locate-by-historyレポート

>>REQUEST

>>リクエスト

     REPORT /ws/public HTTP/1.1
     Host: www.webdav.org
     Content-Type: text/xml; charset="utf-8"
     Content-Length: xxxx
        
     <?xml version="1.0" encoding="utf-8" ?>
     <D:locate-by-history xmlns:D="DAV:">
       <D:version-history-set>
         <D:href>http://repo.webdav.org/his/23</D:href>
         <D:href>http://repo.webdav.org/his/84</D:href>
         <D:href>http://repo.webdav.org/his/129</D:href>
       <D:version-history-set/>
       <D:prop>
         </D:version-history>
       </D:prop>
     </D:locate-by-history>
        

>>RESPONSE

>>応答

     HTTP/1.1 207 Multi-Status
     Content-Type: text/xml; charset="utf-8"
     Content-Length: xxxx
        
     <?xml version="1.0" encoding="utf-8" ?>
     <D:multistatus xmlns:D="DAV:">
       <D:response>
         <D:href>http://www.webdav.org/ws/public/x/test.html</D:href>
         <D:propstat>
           <D:prop>
             <D:version-history>
               <D:href>http://repo.webdav.org/his/23</D:href>
             </D:version-history>
           </D:prop>
           <D:status>HTTP/1.1 200 OK</D:status>
         </D:propstat>
       </D:response>
     </D:multistatus>
        

In this example, there is only one version-controlled member of /ws/public that is a version-controlled resource for one of the three specified version history resources. In particular, /ws/public/x/test.html is the version-controlled resource for http://repo.webdav.org/his/23.

この例では、指定された3つのバージョン履歴リソースのうちの1つのバージョン制御リソースである/ ws / publicのバージョン制御メンバーは1つだけです。特に、/ ws / public / x / test.htmlは、http://repo.webdav.org/his/23のバージョン管理されたリソースです。

5.5 Additional OPTIONS Semantics
5.5 追加オプションセマンティクス

If the server supports the version-history feature, it MUST include "version-history" as a field in the DAV response header from an OPTIONS request on any resource that supports any versioning properties, reports, or methods.

サーバーがバージョン履歴機能をサポートする場合、バージョン管理のプロパティ、レポート、またはメソッドをサポートするリソースのOPTIONSリクエストからのDAV応答ヘッダーのフィールドとして「バージョン履歴」を含める必要があります。

A DAV:version-history-collection-set element MAY be included in the request body to identify collections that may contain version history resources.

DAV:version-history-collection-set要素をリクエストの本文に含めて、バージョン履歴リソースを含む可能性のあるコレクションを識別できます。

Additional Marshalling:

追加のマーシャリング:

If an XML request body is included, it MUST be a DAV:options XML element.

XMLリクエストの本文が含まれている場合は、DAV:options XML要素である必要があります。

<!ELEMENT options ANY> ANY value: A sequence of elements with at most one DAV:version-history-collection-set element.

<!ELEMENT options ANY> ANY value:最大で1つのDAV:version-history-collection-set要素を持つ要素のシーケンス。

If an XML response body for a successful request is included, it MUST be a DAV:options-response XML element.

成功したリクエストのXMLレスポンスボディが含まれている場合、それはDAV:options-response XML要素である必要があります。

<!ELEMENT options-response ANY> ANY value: A sequence of elements with at most one DAV:version-history-collection-set element.

<!ELEMENT options-response ANY> ANY値:DAV:version-history-collection-set要素を1つだけ含む一連の要素。

      <!ELEMENT version-history-collection-set (href*)>
        

If DAV:version-history-collection-set is included in the request body, the response body for a successful request MUST contain a DAV:version-history-collection-set element identifying collections that may contain version histories. An identified collection MAY be the root collection of a tree of collections, all of which may contain version histories. Since different servers can control different parts of the URL namespace, different resources on the same host MAY have different DAV:version-history-collection-set values. The identified collections MAY be located on different hosts from the resource.

DAV:version-history-collection-setがリクエストボディに含まれている場合、成功したリクエストのレスポンスボディには、バージョン履歴を含む可能性があるコレクションを識別するDAV:version-history-collection-set要素が含まれている必要があります。識別されたコレクションは、コレクションのツリーのルートコレクションである場合があります。そのすべてにバージョン履歴が含まれる場合があります。異なるサーバーがURLネームスペースの異なる部分を制御できるため、同じホスト上の異なるリソースは異なるDAV:version-history-collection-set値を持つ場合があります。識別されたコレクションは、リソースとは異なるホストに配置される場合があります。

5.6 Additional DELETE Semantics
5.6 追加のDELETEセマンティクス

Additional Postconditions:

追加の事後条件:

(DAV:delete-version-set): If the request deleted a version history, the request MUST have deleted all versions in the DAV:version-set of that version history, and MUST have satisfied the postconditions for version deletion (see Section 3.13).

(DAV:delete-version-set):リクエストがバージョン履歴を削除した場合、リクエストはそのバージョン履歴のDAV:version-set内のすべてのバージョンを削除し、バージョン削除の事後条件を満たしている必要があります(セクション3.13を参照) )。

(DAV:version-history-has-root): If the request deleted the root version of a version history, the request MUST have updated the DAV:root-version of the version history to refer to another version that is an ancestor of all other remaining versions in that version history. A result of this postcondition is that every version history will have at least one version, and the only way to delete all versions is to delete the version history resource.

(DAV:version-history-has-root):リクエストがバージョン履歴のルートバージョンを削除した場合、リクエストはすべての祖先である別のバージョンを参照するようにバージョン履歴のDAV:root-versionを更新している必要がありますそのバージョン履歴の他の残りのバージョン。この事後条件の結果として、すべてのバージョン履歴には少なくとも1つのバージョンがあり、すべてのバージョンを削除する唯一の方法は、バージョン履歴リソースを削除することです。

5.7 Additional COPY Semantics
5.7 追加のCOPYセマンティクス

Additional Preconditions:

追加の前提条件:

(DAV:cannot-copy-history): If the request-URL identifies a version history, the request MUST fail. In order to create another version history whose versions have the same content and dead properties, the appropriate sequence of VERSION-CONTROL, CHECKOUT, PUT, PROPPATCH, and CHECKIN requests must be made.

(DAV:cannot-copy-history):request-URLがバージョン履歴を識別する場合、リクエストは失敗する必要があります。バージョンが同じコンテンツとデッドプロパティを持つ別のバージョン履歴を作成するには、VERSION-CONTROL、CHECKOUT、PUT、PROPPATCH、およびCHECKINリクエストの適切なシーケンスを作成する必要があります。

5.8 Additional MOVE Semantics
5.8 追加のMOVEセマンティクス

Additional Preconditions:

追加の前提条件:

(DAV:cannot-rename-history): If the request-URL identifies a version history, the request MUST fail.

(DAV:cannot-rename-history):request-URLがバージョン履歴を識別する場合、要求は失敗する必要があります。

5.9 Additional VERSION-CONTROL Semantics
5.9 追加のVERSION-CONTROLセマンティクス

Additional Postconditions:

追加の事後条件:

(DAV:new-version-history): If the request created a new version history, the request MUST have allocated a new server-defined URL for that version history that MUST NOT have previously identified any other resource, and MUST NOT ever identify a resource other than this version history.

(DAV:new-version-history):リクエストで新しいバージョン履歴が作成された場合、そのリクエストは、以前に他のリソースを識別してはならない、そのバージョン履歴に新しいサーバー定義のURLを割り当てなければなりません。このバージョン履歴以外のリソース。

5.10 Additional CHECKIN Semantics
5.10 追加のCHECKINセマンティクス

Additional Postconditions:

追加の事後条件:

(DAV:add-to-history): A URL for the new version resource MUST have been added to the DAV:version-set of the version history of the DAV:checked-out version.

(DAV:add-to-history):新しいバージョンリソースのURLは、DAV:checked-outバージョンのバージョン履歴のDAV:version-setに追加されている必要があります。

6 Workspace Feature

6ワークスペース機能

In order to allow multiple users to work concurrently on adding versions to the same version history, it is necessary to allocate on the server multiple checked-out resources for the same version history. Even if only one user is making changes to a resource, that user will sometimes wish to create a "private" version, and then to expose that version at a later time. One way to provide this functionality depends on the client keeping track of its current set of checked-out resources. This is the working-resource feature defined in Section 8. The other way to provide this functionality avoids the need for persistent state on the client, and instead has the server maintain a human meaningful namespace for related sets of checked-out resources. This is the workspace feature defined in this section.

複数のユーザーが同じバージョン履歴にバージョンを追加する際に同時に作業できるようにするには、同じバージョン履歴の複数のチェックアウトされたリソースをサーバーに割り当てる必要があります。 1人のユーザーだけがリソースに変更を加えている場合でも、そのユーザーは「プライベート」バージョンを作成し、後でそのバージョンを公開したい場合があります。この機能を提供する1つの方法は、クライアントがチェックアウトしたリソースの現在のセットを追跡していることに依存します。これは、セクション8で定義された作業リソース機能です。この機能を提供する別の方法は、クライアントでの永続的な状態の必要性を回避し、代わりに、チェックアウトされたリソースの関連セットに対して人間が意味のある名前空間をサーバーに維持させます。これは、このセクションで定義されているワークスペース機能です。

The workspace feature introduces a "workspace resource". A workspace resource is a collection whose members are related version-controlled and non-version-controlled resources. Multiple workspaces may be used to expose different versions and configurations of a set of version-controlled resources concurrently. In order to make changes to a version-controlled resource in one workspace visible in another workspace, that version-controlled resource must be checked in, and then the corresponding version-controlled resource in the other workspace can be updated to display the content and dead properties of the new version.

ワークスペース機能は、「ワークスペースリソース」を導入します。ワークスペースリソースは、メンバーが関連するバージョン管理されたリソースとバージョン管理されていないリソースであるコレクションです。複数のワークスペースを使用して、バージョン管理されたリソースのセットの異なるバージョンと構成を同時に公開できます。別のワークスペースに表示されている1つのワークスペースのバージョン管理されたリソースに変更を加えるには、そのバージョン管理されたリソースをチェックインする必要があります。次に、他のワークスペースの対応するバージョン管理されたリソースを更新して、コンテンツとデッドを表示できます。新しいバージョンのプロパティ。

In order to ensure unambiguous merging (see Section 11) and baselining (see Section 12) semantics, a workspace may contain at most one version-controlled resource for a given version history. This is required for unambiguous merging because the MERGE method must identify which version-controlled resource is to be the merge target of a given version. This is required for unambiguous baselining because a baseline can only select one version for a given version-controlled resource.

明確なマージ(セクション11を参照)およびベースライン(セクション12を参照)のセマンティクスを確実にするために、ワークスペースには、特定のバージョン履歴に対して最大1つのバージョン管理されたリソースを含めることができます。 MERGEメソッドは、特定のバージョンのマージターゲットとなるバージョン管理されたリソースを識別する必要があるため、これは明確なマージに必要です。ベースラインは特定のバージョン管理されたリソースに対して1つのバージョンしか選択できないため、これは明確なベースライン化に必要です。

Initially, an empty workspace can be created. Non-version-controlled resources can then be added to the workspace with standard WebDAV requests such as PUT and MKCOL. Version-controlled resources can be added to the workspace with VERSION-CONTROL requests. If the baseline feature is supported, collections in the workspace can be placed under baseline control, and then initialized by existing baselines.

最初は、空のワークスペースを作成できます。バージョン管理されていないリソースは、PUTやMKCOLなどの標準のWebDAVリクエストを使用してワークスペースに追加できます。バージョン管理されたリソースは、VERSION-CONTROL要求を使用してワークスペースに追加できます。ベースライン機能がサポートされている場合、ワークスペース内のコレクションをベースライン制御下に置き、既存のベースラインによって初期化できます。

6.1 Workspace Properties
6.1 ワークスペースのプロパティ

The workspace feature introduces the following REQUIRED property for a workspace.

ワークスペース機能は、ワークスペースに次の必須プロパティを導入します。

6.1.1 DAV:workspace-checkout-set (computed)
6.1.1 DAV:workspace-checkout-set(計算済み)

This property identifies each checked-out resource whose DAV:workspace property identifies this workspace.

このプロパティは、DAV:workspaceプロパティがこのワークスペースを識別する、チェックアウトされた各リソースを識別します。

   <!ELEMENT workspace-checkout-set (href*)>
        
6.2 Additional Resource Properties
6.2 追加のリソースプロパティ

The workspace feature introduces the following REQUIRED property for a WebDAV resource.

ワークスペース機能は、WebDAVリソースに次の必須プロパティを導入します。

6.2.1 DAV:workspace (protected)
6.2.1 DAV:ワークスペース(保護)

The DAV:workspace property of a workspace resource MUST identify itself. The DAV:workspace property of any other type of resource MUST be the same as the DAV:workspace of its parent collection.

ワークスペースリソースのDAV:workspaceプロパティは、それ自体を識別する必要があります。他のタイプのリソースのDAV:workspaceプロパティは、親コレクションのDAV:workspaceと同じである必要があります。

   <!ELEMENT workspace (href)>
        
6.3 MKWORKSPACE Method
6.3 MKWORKSPACEメソッド

A MKWORKSPACE request creates a new workspace resource. A server MAY restrict workspace creation to particular collections, but a client can determine the location of these collections from a DAV:workspace-collection-set OPTIONS request (see Section 6.4).

MKWORKSPACE要求は、新しいワークスペースリソースを作成します。サーバーはワークスペースの作成を特定のコレクションに制限できますが、クライアントはDAV:workspace-collection-set OPTIONSリクエストからこれらのコレクションの場所を特定できます(セクション6.4を参照)。

If a MKWORKSPACE request fails, the server state preceding the request MUST be restored.

MKWORKSPACE要求が失敗した場合、要求に先行するサーバーの状態を復元する必要があります。

Marshalling:

マーシャリング:

If a request body is included, it MUST be a DAV:mkworkspace XML element.

リクエストの本文が含まれている場合、DAV:mkworkspace XML要素である必要があります。

      <!ELEMENT mkworkspace ANY>
        

If a response body for a successful request is included, it MUST be a DAV:mkworkspace-response XML element.

成功したリクエストのレスポンスボディが含まれている場合、それはDAV:mkworkspace-response XML要素である必要があります。

      <!ELEMENT mkworkspace-response ANY>
        

The response MUST include a Cache-Control:no-cache header.

応答には、Cache-Control:no-cacheヘッダーを含める必要があります。

Preconditions:

前提条件:

(DAV:resource-must-be-null): A resource MUST NOT exist at the request-URL.

(DAV:resource-must-be-null):リソースはリクエストURLに存在してはなりません。

(DAV:workspace-location-ok): The request-URL MUST identify a location where a workspace can be created.

(DAV:workspace-location-on):request-URLは、ワークスペースを作成できる場所を特定する必要があります。

Postconditions:

事後条件:

(DAV:initialize-workspace): A new workspace exists at the request-URL. The DAV:resourcetype of the workspace MUST be DAV:collection. The DAV:workspace of the workspace MUST identify the workspace.

(DAV:initialize-workspace):リクエストURLに新しいワークスペースが存在します。ワークスペースのDAV:resourcetypeはDAV:collectionでなければなりません。ワークスペースのDAV:workspaceはワークスペースを識別しなければなりません。

6.3.1 Example - MKWORKSPACE
6.3.1 例-MKWORKSPACE

>>REQUEST

>>リクエスト

     MKWORKSPACE /ws/public HTTP/1.1
     Host: www.webdav.org
     Content-Length: 0
        

>>RESPONSE

>>応答

HTTP/1.1 201 Created Cache-Control: no-cache

HTTP / 1.1 201作成されたCache-Control:no-cache

In this example, a new workspace is created at http://www.webdav.org/ws/public.

この例では、新しいワークスペースがhttp://www.webdav.org/ws/publicに作成されます。

6.4 Additional OPTIONS Semantics
6.4 追加オプションセマンティクス

If a server supports the workspace feature, it MUST include "workspace" as a field in the DAV response header from an OPTIONS request on any resource that supports any versioning properties, reports, or methods.

サーバーがワークスペース機能をサポートしている場合、バージョニングプロパティ、レポート、またはメソッドをサポートするリソースのOPTIONSリクエストからのDAV応答ヘッダーのフィールドとして「ワークスペース」を含める必要があります。

If a server supports the workspace feature, it MUST also support the checkout-in-place feature and the version-history feature.

サーバーがワークスペース機能をサポートしている場合は、チェックアウトインプレース機能とバージョン履歴機能もサポートしている必要があります。

A DAV:workspace-collection-set element MAY be included in the request body to identify collections that may contain workspace resources.

DAV:workspace-collection-set要素は、ワークスペースリソースを含む可能性があるコレクションを識別するために、リクエスト本文に含めることができます。

Additional Marshalling:

追加のマーシャリング:

If an XML request body is included, it MUST be a DAV:options XML element.

XMLリクエストの本文が含まれている場合は、DAV:options XML要素である必要があります。

<!ELEMENT options ANY> ANY value: A sequence of elements with at most one DAV:workspace-collection-set element.

<!ELEMENT options ANY> ANY値:最大で1つのDAV:workspace-collection-set要素を持つ一連の要素。

If an XML response body for a successful request is included, it MUST be a DAV:options-response XML element.

成功したリクエストのXMLレスポンスボディが含まれている場合、それはDAV:options-response XML要素である必要があります。

<!ELEMENT options-response ANY> ANY value: A sequence of elements with at most one DAV:workspace-collection-set element.

<!ELEMENT options-response ANY> ANY値:DAV:workspace-collection-set要素を1つだけ含む一連の要素。

      <!ELEMENT workspace-collection-set (href*)>
        

If DAV:workspace-collection-set is included in the request body, the response body for a successful request MUST contain a DAV:workspace-collection-set element identifying collections that may contain workspaces. An identified collection MAY be the root collection of a tree of collections, all of which may contain workspaces. Since different servers can control different parts of the URL namespace, different resources on the same host MAY have different DAV:workspace-collection-set values. The identified collections MAY be located on different hosts from the resource.

DAV:workspace-collection-setがリクエストボディに含まれている場合、成功したリクエストのレスポンスボディには、ワークスペースを含む可能性のあるコレクションを識別するDAV:workspace-collection-set要素が含まれている必要があります。識別されたコレクションは、コレクションのツリーのルートコレクションである場合があります。すべてのコレクションにワークスペースが含まれる場合があります。異なるサーバーがURL名前空間の異なる部分を制御できるため、同じホスト上の異なるリソースは異なるDAV:workspace-collection-set値を持つ場合があります。識別されたコレクションは、リソースとは異なるホストに配置される場合があります。

6.4.1 Example - OPTIONS
6.4.1 例-オプション

>>REQUEST

>>リクエスト

     OPTIONS /doc HTTP/1.1
     Host: www.webdav.org
     Content-Type: text/xml; charset="utf-8"
     Content-Length: xxxx
        
     <?xml version="1.0" encoding="utf-8" ?>
     <D:options xmlns:D="DAV:">
       <D:version-history-collection-set/>
       <D:workspace-collection-set/>
     </D:options>
        

>>RESPONSE

>>応答

     HTTP/1.1 200 OK
     DAV: 1
     DAV: version-control,checkout-in-place,version-history,workspace
     Content-Type: text/xml; charset="utf-8"
     Content-Length: xxxx
        
     <?xml version="1.0" encoding="utf-8" ?>
     <D:options-response xmlns:D="DAV:">
       <D:version-history-collection-set>
         <D:href>http://repo.webdav.org/his</D:href>
       </D:version-history-collection-set>
       <D:workspace-collection-set>
         <D:href>http://www.webdav.org/public/ws</D:href>
         <D:href>http://www.webdav.org/private/ws</D:href>
       </D:workspace-collection-set>
     </D:options-response>
        

In this example, the server indicates that it provides Class 1 DAV support and basic-server-workspace versioning support. In addition, the server indicates the requested locations of the version history resources and the workspace resources.

この例では、サーバーはクラス1 DAVサポートと基本サーバーワークスペースのバージョン管理サポートを提供していることを示しています。さらに、サーバーは、バージョン履歴リソースとワークスペースリソースの要求された場所を示します。

6.5 Additional DELETE Semantics
6.5 追加のDELETEセマンティクス

Additional Postconditions:

追加の事後条件:

(DAV:delete-workspace-members): If a workspace is deleted, any resource that identifies that workspace in its DAV:workspace property MUST be deleted.

(DAV:delete-workspace-members):ワークスペースが削除された場合、DAV:workspaceプロパティでそのワークスペースを識別するリソースを削除する必要があります。

6.6 Additional MOVE Semantics
6.6 追加のMOVEセマンティクス

Additional Postconditions:

追加の事後条件:

(DAV:workspace-member-moved): If the request-URL did not identify a workspace, the DAV:workspace of the destination MUST have been updated to have the same value as the DAV:workspace of the parent collection of the destination.

(DAV:workspace-member-moved):request-URLがワークスペースを識別しなかった場合、宛先のDAV:workspaceは、宛先の親コレクションのDAV:workspaceと同じ値を持つように更新されている必要があります。

(DAV:workspace-moved): If the request-URL identified a workspace, any reference to that workspace in a DAV:workspace property MUST have been updated to refer to the new location of that workspace.

(DAV:workspace-moved):リクエストURLがワークスペースを識別した場合、DAV:workspaceプロパティ内のそのワークスペースへの参照は、そのワークスペースの新しい場所を参照するように更新されている必要があります。

6.7 Additional VERSION-CONTROL Semantics
6.7 追加のVERSION-CONTROLセマンティクス

A VERSION-CONTROL request can be used to create a new version-controlled resource for an existing version history. This allows the creation of version-controlled resources for the same version history in multiple workspaces.

VERSION-CONTROL要求を使用して、既存のバージョン履歴の新しいバージョン管理リソースを作成できます。これにより、複数のワークスペースで同じバージョン履歴のバージョン管理されたリソースを作成できます。

Additional Marshalling:

追加のマーシャリング:

<!ELEMENT version-control ANY> ANY value: A sequence of elements with at most one DAV:version element.

<!ELEMENT version-control ANY> ANY値:DAV:version要素を1つだけ含む一連の要素。

      <!ELEMENT version (href)>
        

Additional Preconditions:

追加の前提条件:

(DAV:cannot-add-to-existing-history): If the DAV:version-control request body element contains a DAV:version element, the request-URL MUST NOT identify a resource.

(DAV:cannot-add-to-existing-history):DAV:version-controlリクエストの本文要素にDAV:version要素が含まれている場合、request-URLはリソースを識別してはなりません(MUST NOT)。

(DAV:must-be-version): The DAV:href of the DAV:version element MUST identify a version.

(DAV:must-be-version):DAV:version要素のDAV:hrefはバージョンを識別しなければなりません(MUST)。

(DAV:one-version-controlled-resource-per-history-per-workspace): If the DAV:version-control request body specifies a version, and if the request-URL is a member of a workspace, then there MUST NOT already be a version-controlled member of that workspace whose DAV:checked-in or DAV:checked-out property identifies any version from the version history of the version specified in the request body.

(DAV:one-version-controledresource-per-history-per-workspace):DAV:version-controlリクエストの本文でバージョンを指定し、request-URLがワークスペースのメンバーである場合、 DAV:checked-inまたはDAV:checked-outプロパティがリクエストの本文で指定されたバージョンのバージョン履歴から任意のバージョンを識別する、そのワークスペースのバージョン管理されたメンバーである

Additional Postconditions:

追加の事後条件:

(DAV:new-version-controlled-resource): If the request-URL did NOT identify a resource, a new version-controlled resource exists at the request-URL whose content and dead properties are initialized by those of the version in the request body, and whose DAV:checked-in property identifies that version.

(DAV:new-version-controlled-resource):リクエストURLがリソースを識別しなかった場合、リクエストとバージョンの新しいプロパティによって、コンテンツとデッドプロパティがリクエスト内のバージョンのプロパティによって初期化されます。本文、およびそのDAV:checked-inプロパティがそのバージョンを識別します。

6.7.1 Example - VERSION-CONTROL (using an existing version history)
6.7.1 例-VERSION-CONTROL(既存のバージョン履歴を使用)

>>REQUEST

>>リクエスト

     VERSION-CONTROL /ws/public/bar.html HTTP/1.1
     Host: www.webdav.org
     Content-Type: text/xml; charset="utf-8"
     Content-Length: xxxx
        
     <?xml version="1.0" encoding="utf-8" ?>
     <D:version-control xmlns:D="DAV:">
       <D:version>
         <D:href>http://repo.webdav.org/his/12/ver/V3</D:href>
       </D:version>
     </D:version-control>
        

>>RESPONSE

>>応答

HTTP/1.1 201 Created Cache-Control: no-cache

HTTP / 1.1 201作成されたCache-Control:no-cache

In this example, a new version-controlled resource is created at /ws/public/bar.html. The content and dead properties of the new version-controlled resource are initialized to be the same as those of the version identified by http://repo.webdav.org/his/12/ver/V3.

この例では、新しいバージョン管理されたリソースが/ws/public/bar.htmlに作成されます。新しいバージョン管理リソースのコンテンツと無効なプロパティは、http://repo.webdav.org/his/12/ver/V3で識別されるバージョンと同じになるように初期化されます。

7 UPDATE Feature

7 UPDATE機能

The update feature provides a mechanism for changing the state of a checked-in version-controlled resource to be that of another version from the version history of that resource.

更新機能は、チェックインされたバージョン管理されたリソースの状態を、そのリソースのバージョン履歴から別のバージョンの状態に変更するメカニズムを提供します。

7.1 UPDATE Method
7.1 UPDATEメソッド

The UPDATE method modifies the content and dead properties of a checked-in version-controlled resource (the "update target") to be those of a specified version (the "update source") from the version history of that version-controlled resource.

UPDATEメソッドは、チェックインされたバージョン管理されたリソース(「更新ターゲット」)のコンテンツとデッドプロパティを、そのバージョン管理されたリソースのバージョン履歴から指定されたバージョン(「更新ソース」)のコンテンツとデッドプロパティに変更します。

The response to an UPDATE request identifies the resources modified by the request, so that a client can efficiently update any cached state it is maintaining. Extensions to the UPDATE method allow multiple resources to be modified from a single UPDATE request (see Section 12.13).

UPDATE要求への応答は、要求によって変更されたリソースを識別します。これにより、クライアントは、維持しているキャッシュされた状態を効率的に更新できます。 UPDATEメソッドの拡張機能により、単一のUPDATEリクエストから複数のリソースを変更できます(セクション12.13を参照)。

Marshalling:

マーシャリング:

The request body MUST be a DAV:update element.

リクエストの本文はDAV:update要素である必要があります。

      <!ELEMENT update ANY>
      ANY value: A sequence of elements with at most one DAV:version
      element and at most one DAV:prop element.
      <!ELEMENT version (href)>
      prop: see RFC 2518, Section 12.11
        

The response for a successful request MUST be a 207 Multi-Status, where the DAV:multistatus XML element in the response body identifies all resources that have been modified by the request.

成功した要求の応答は、207マルチステータスである必要があります。応答本文のDAV:multistatus XML要素は、要求によって変更されたすべてのリソースを識別します。

multistatus: see RFC 2518, Section 12.9

multistatus:RFC 2518、セクション12.9を参照

The response MUST include a Cache-Control:no-cache header.

応答には、Cache-Control:no-cacheヘッダーを含める必要があります。

Postconditions:

事後条件:

(DAV:update-content-and-properties): If the DAV:version element in the request body identified a version that is in the same version history as the DAV:checked-in version of a version-controlled resource identified by the request-URL, then the content and dead properties of that version-controlled resource MUST be the same as those of the version specified by the DAV:version element, and the DAV:checked-in property of the version-controlled resource MUST identify that version. The request-URL MUST appear in a DAV:response element in the response body.

(DAV:update-content-and-properties):リクエスト本文のDAV:version要素が、リクエストによって識別されたバージョン管理されたリソースのDAV:checked-inバージョンと同じバージョン履歴にあるバージョンを識別した場合-URL、その場合、そのバージョン管理されたリソースのコンテンツとデッドプロパティは、DAV:version要素で指定されたバージョンのものと同じでなければならず、バージョン管理されたリソースのDAV:checked-inプロパティは、そのバージョンを識別しなければなりません。 request-URLは、応答本文のDAV:response要素に出現する必要があります。

(DAV:report-properties): If DAV:prop is specified in the request body, the properties specified in the DAV:prop element MUST be reported in the DAV:response elements in the response body.

(DAV:report-properties):リクエスト本文でDAV:propが指定されている場合、DAV:prop要素で指定されたプロパティは、応答本文のDAV:response要素で報告される必要があります。

7.1.1 Example - UPDATE
7.1.1 例-更新

>>REQUEST

>>リクエスト

     UPDATE /foo.html HTTP/1.1
     Host: www.webdav.org
     Content-type: text/xml; charset="utf-8"
     Content-Length: xxxx
        
     <?xml version="1.0" encoding="utf-8" ?>
     <D:update xmlns:D="DAV:">
       <D:version>
         <D:href>http://repo.webdav.org/his/23/ver/33</D:href>
       </D:version>
     </D:update>
        

>>RESPONSE

>>応答

     HTTP/1.1 207 Multi-Status
     Content-Type: text/xml; charset="utf-8"
     Content-Length: xxxx
     Cache-Control: no-cache
        
     <?xml version="1.0" encoding="utf-8" ?>
     <D:multistatus xmlns:D="DAV:">
       <D:response>
         <D:href>http://www.webdav.org/foo.html</D:href>
         <D:status>HTTP/1.1 200 OK</D:status>
       </D:response>
        

In this example, the content and dead properties of http://repo.webdav.org/his/23/ver/33 are copied to the version-controlled resource /foo.html, and the DAV:checked-in property of /foo.html is updated to refer to http://repo.webdav.org/his/23/ver/33.

この例では、http://repo.webdav.org/his/23/ver/33のコンテンツとデッドプロパティがバージョン管理されたリソース/foo.htmlにコピーされ、DAV:checked-inプロパティが/にコピーされます。 foo.htmlは、http://repo.webdav.org/his/23/ver/33を参照するように更新されています。

7.2 Additional OPTIONS Semantics
7.2 追加オプションセマンティクス

If the server supports the update feature, it MUST include "update" as a field in the DAV response header from an OPTIONS request on any resource that supports any versioning properties, reports, or methods.

サーバーが更新機能をサポートする場合、バージョン管理のプロパティ、レポート、またはメソッドをサポートするすべてのリソースのOPTIONS要求からのDAV応答ヘッダーのフィールドとして「更新」を含める必要があります。

8 Label Feature

8ラベル機能

A version "label" is a string that distinguishes one version in a version history from all other versions in that version history. A label can automatically be assigned by a server, or it can be assigned by a client in order to provide a meaningful name for that version. A given version label can be assigned to at most one version of a given version history, but client assigned labels can be reassigned to another version at any time. Note that although a given label can be applied to at most one version from the same version history, the same label can be applied to versions from different version histories.

バージョン「ラベル」は、バージョン履歴内の1つのバージョンを、そのバージョン履歴内の他のすべてのバージョンと区別する文字列です。ラベルはサーバーによって自動的に割り当てられるか、そのバージョンに意味のある名前を提供するためにクライアントによって割り当てられます。特定のバージョンラベルは特定のバージョン履歴の最大1つのバージョンに割り当てることができますが、クライアントが割り当てたラベルはいつでも別のバージョンに再割り当てできます。特定のラベルは同じバージョン履歴の最大1つのバージョンに適用できますが、同じラベルを異なるバージョン履歴のバージョンに適用できることに注意してください。

For certain methods, if the request-URL identifies a version-controlled resource, a label can be specified in a Label request header (see Section 8.3) to cause the method to be applied to the version selected by that label from the version history of that version-controlled resource.

特定のメソッドでは、request-URLがバージョン管理されたリソースを識別する場合、Labelリクエストヘッダー(セクション8.3を参照)でラベルを指定して、次のバージョン履歴からそのラベルによって選択されたバージョンにメソッドを適用できます。そのバージョン管理されたリソース。

8.1 Additional Version Properties
8.1 追加のバージョンプロパティ

The label feature introduces the following REQUIRED property for a version.

ラベル機能は、バージョンに次の必須プロパティを導入します。

8.1.1 DAV:label-name-set (protected)
8.1.1 DAV:ラベル名セット(保護)

This property contains the labels that currently select this version.

このプロパティには、現在このバージョンを選択しているラベルが含まれています。

   <!ELEMENT label-name-set (label-name*)>
   <!ELEMENT label-name (#PCDATA)>
   PCDATA value: string
        
8.2 LABEL Method
8.2 LABELメソッド

A LABEL request can be applied to a version to modify the labels that select that version. The case of a label name MUST be preserved when it is stored and retrieved. When comparing two label names to decide if they match or not, a server SHOULD use a case-sensitive URL-escaped UTF-8 encoded comparison of the two label names.

LABELリクエストをバージョンに適用して、そのバージョンを選択するラベルを変更できます。ラベル名の大文字と小文字は、保存および取得するときに保持する必要があります。 2つのラベル名を比較して一致するかどうかを判断する場合、サーバーは2つのラベル名の大文字と小文字を区別するURLエスケープUTF-8エンコード比較を使用する必要があります(SHOULD)。

If a LABEL request is applied to a checked in version-controlled resource, the operation MUST be applied to the DAV:checked-in version of that version-controlled resource.

LABELリクエストがチェックインされたバージョン管理されたリソースに適用される場合、操作はそのバージョン管理されたリソースのDAV:checked-inバージョンに適用されなければなりません(MUST)。

Marshalling:

マーシャリング:

The request body MUST be a DAV:label element.

リクエストの本文はDAV:label要素である必要があります。

<!ELEMENT label ANY> ANY value: A sequence of elements with at most one DAV:add, DAV:set, or DAV:remove element.

<!ELEMENT label ANY> ANY value:最大で1つのDAV:add、DAV:set、またはDAV:remove要素を持つ要素のシーケンス。

      <!ELEMENT add (label-name)>
      <!ELEMENT set (label-name)>
      <!ELEMENT remove (label-name)>
      <!ELEMENT label-name (#PCDATA)>
      PCDATA value: string
        

The request MAY include a Label header.

リクエストには、Labelヘッダーが含まれる場合があります。

The request MAY include a Depth header. If no Depth header is included, Depth:0 is assumed. Standard depth semantics apply, and the request is applied to the collection identified by the request-URL and to all members of the collection that satisfy the Depth value. If a Depth header is included and the request fails on any resource, the response MUST be a 207 Multi-Status that identifies all resources for which the request has failed.

リクエストにはDepthヘッダーが含まれる場合があります。 Depthヘッダーが含まれていない場合、Depth:0が想定されます。標準の深さのセマンティクスが適用され、要求は、request-URLによって識別されるコレクションと、深さの値を満たすコレクションのすべてのメンバーに適用されます。 Depthヘッダーが含まれていて、要求がいずれかのリソースで失敗した場合、応答は、要求が失敗したすべてのリソースを識別する207 Multi-Statusである必要があります。

If a response body for a successful request is included, it MUST be a DAV:label-response XML element.

成功したリクエストのレスポンスボディが含まれている場合、それはDAV:label-response XML要素である必要があります。

      <!ELEMENT label-response ANY>
        

The response MUST include a Cache-Control:no-cache header.

応答には、Cache-Control:no-cacheヘッダーを含める必要があります。

Preconditions:

前提条件:

(DAV:must-be-checked-in): If the request-URL identifies a version-controlled resource, the version-controlled resource MUST be checked in.

(DAV:must-be-checked-in):request-URLがバージョン管理されたリソースを識別する場合、バージョン管理されたリソースをチェックインする必要があります。

(DAV:must-select-version-in-history): If a Label request header is included and the request-URL identifies a version-controlled resource, the specified label MUST select a version in the version history of the version-controlled resource.

(DAV:must-select-version-in-history):Labelリクエストヘッダーが含まれ、request-URLがバージョン管理されたリソースを識別する場合、指定されたラベルは、バージョン管理されたリソースのバージョン履歴でバージョンを選択する必要があります。

(DAV:add-must-be-new-label): If DAV:add is specified in the request body, the specified label MUST NOT appear in the DAV:label-name-set of any version in the version history of that version-controlled resource.

(DAV:add-must-be-new-label):リクエストの本文にDAV:addが指定されている場合、指定されたラベルは、そのバージョンのバージョン履歴のどのバージョンのDAV:label-name-setにも表示されてはいけません制御リソース。

(DAV:label-must-exist): If DAV:remove is specified in the request body, the specified label MUST appear in the DAV:label-name-set of that version.

(DAV:label-must-exist):リクエストの本文でDAV:removeが指定されている場合、指定されたラベルは、そのバージョンのDAV:label-name-setに含まれている必要があります。

Postconditions:

事後条件:

(DAV:add-or-set-label): If DAV:add or DAV:set is specified in the request body, the specified label MUST appear in the DAV:label-name-set of the specified version, and MUST NOT appear in the DAV:label-name-set of any other version in the version history of that version.

(DAV:add-or-set-label):リクエストの本文でDAV:addまたはDAV:setが指定されている場合、指定されたラベルは、指定されたバージョンのDAV:label-name-setに表示されなければならず、表示されてはなりませんそのバージョンのバージョン履歴にある他のバージョンのDAV:label-name-set内。

(DAV:remove-label): If DAV:remove is specified in the request body, the specified label MUST NOT appear in the DAV:label-name-set of any version in the version history of that version.

(DAV:remove-label):リクエストの本文でDAV:removeが指定されている場合、指定されたラベルは、そのバージョンのバージョン履歴のどのバージョンのDAV:label-name-setにも表示されてはなりません。

8.2.1 Example - Setting a label
8.2.1 例-ラベルの設定

>>REQUEST

>>リクエスト

     LABEL /foo.html HTTP/1.1
     Host: www.webdav.org
     Content-type: text/xml; charset="utf-8"
     Content-Length: xxxx
        
     <?xml version="1.0" encoding="utf-8" ?>
     <D:label xmlns:D="DAV:">
       <D:set>
         <D:label-name>default</D:label-name>
       </D:set>
     </D:label>
        

>>RESPONSE

>>応答

HTTP/1.1 200 OK Cache-Control: no-cache

HTTP / 1.1 200 OK Cache-Control:no-cache

In this example, the label "default" is applied to the DAV:checked-in version of /foo.html.

この例では、ラベル「default」がDAV:checked-inバージョンの/foo.htmlに適用されています。

8.3 Label Header
8.3 ラベルヘッダー

For certain methods (e.g. GET, PROPFIND), if the request-URL identifies a version-controlled resource, a label can be specified in a Label request header to cause the method to be applied to the version selected by that label from the version history of that version-controlled resource.

特定のメソッド(GET、PROPFINDなど)では、要求URLがバージョン管理されたリソースを識別する場合、Label要求ヘッダーでラベルを指定して、バージョン履歴からそのラベルによって選択されたバージョンにメソッドを適用できます。そのバージョン管理されたリソースの。

The value of a label header is the name of a label, encoded using URL-escaped UTF-8. For example, the label "release B.3" is identified by the following header:

ラベルヘッダーの値は、URLエスケープされたUTF-8を使用してエンコードされたラベルの名前です。たとえば、ラベル「release B.3」は次のヘッダーで識別されます。

Label: release%20B.3

レーベル:release%20B.3

A Label header MUST have no effect on a request whose request-URL does not identify a version-controlled resource. In particular, it MUST have no effect on a request whose request-URL identifies a version or a version history.

Labelヘッダーは、request-URLがバージョン管理されたリソースを識別しないリクエストには影響を与えてはなりません(MUST)。特に、リクエストURLがバージョンまたはバージョン履歴を識別するリクエストには影響を与えてはなりません(MUST)。

A server MUST return an HTTP-1.1 Vary header containing Label in a successful response to a cacheable request (e.g., GET) that includes a Label header.

サーバーは、Labelヘッダーを含むキャッシュ可能な要求(GETなど)に対する正常な応答で、Labelを含むHTTP-1.1 Varyヘッダーを返さなければなりません(MUST)。

8.4 Additional OPTIONS Semantics
8.4 Additional OPTIONS Semantics

If the server supports the label feature, it MUST include "label" as a field in the DAV response header from an OPTIONS request on any resource that supports any versioning properties, reports, or methods.

サーバーがラベル機能をサポートしている場合、バージョニングプロパティ、レポート、またはメソッドをサポートするリソースのOPTIONSリクエストからのDAV応答ヘッダーのフィールドとして「ラベル」を含める必要があります。

8.5 Additional GET Semantics
8.5 追加のGETセマンティクス

Additional Marshalling:

追加のマーシャリング:

The request MAY include a Label header.

リクエストには、Labelヘッダーが含まれる場合があります。

Additional Preconditions:

追加の前提条件:

(DAV:must-select-version-in-history): If a Label request header is included and the request-URL identifies a version-controlled resource, the specified label MUST select a version in the version history of the version-controlled resource.

(DAV:must-select-version-in-history):Labelリクエストヘッダーが含まれ、request-URLがバージョン管理されたリソースを識別する場合、指定されたラベルは、バージョン管理されたリソースのバージョン履歴でバージョンを選択する必要があります。

Additional Postconditions:

追加の事後条件:

(DAV:apply-request-to-labeled-version): If the request-URL identifies a version-controlled resource and a Label request header is included, the response MUST contain the content of the specified version rather than that of the version-controlled resource.

(DAV:apply-request-to-labeled-version):request-URLがバージョン管理されたリソースを識別し、Labelリクエストヘッダーが含まれている場合、応答には、バージョンのコンテンツではなく、指定されたバージョンのコンテンツが含まれている必要があります。制御されたリソース。

8.6 Additional PROPFIND Semantics
8.6 追加のPROPFINDセマンティクス

Additional Marshalling:

追加のマーシャリング:

The request MAY include a Label header.

リクエストには、Labelヘッダーが含まれる場合があります。

Additional Preconditions:

追加の前提条件:

(DAV:must-select-version-in-history): If a Label request header is included and the request-URL identifies a version-controlled resource, the specified label MUST select a version in the version history of the version-controlled resource.

(DAV:must-select-version-in-history):Labelリクエストヘッダーが含まれ、request-URLがバージョン管理されたリソースを識別する場合、指定されたラベルは、バージョン管理されたリソースのバージョン履歴でバージョンを選択する必要があります。

Additional Postconditions:

Additional Postconditions:

(DAV:apply-request-to-labeled-version): If the request-URL identifies a version-controlled resource and a Label request header is included, the response MUST contain the properties of the specified version rather than that of the version-controlled resource.

(DAV:apply-request-to-labeled-version):request-URLがバージョン管理されたリソースを識別し、Labelリクエストヘッダーが含まれている場合、応答には、バージョンのプロパティではなく、指定されたバージョンのプロパティが含まれている必要があります。制御されたリソース。

8.7 Additional COPY Semantics
8.7 追加のCOPYセマンティクス

Additional Marshalling:

追加のマーシャリング:

The request MAY include a Label header.

リクエストには、Labelヘッダーが含まれる場合があります。

Additional Preconditions:

追加の前提条件:

(DAV:must-select-version-in-history): If a Label request header is included and the request-URL identifies a version-controlled resource, the specified label MUST select a version in the version history of the version-controlled resource.

(DAV:must-select-version-in-history):Labelリクエストヘッダーが含まれ、request-URLがバージョン管理されたリソースを識別する場合、指定されたラベルは、バージョン管理されたリソースのバージョン履歴でバージョンを選択する必要があります。

Additional Postconditions:

追加の事後条件:

(DAV:apply-request-to-labeled-version): If the request-URL identifies a version-controlled resource and a Label request header is included, the request MUST have copied the properties and content of the specified version rather than that of the version-controlled resource.

(DAV:apply-request-to-labeled-version):リクエストURLがバージョン管理されたリソースを識別し、ラベルリクエストヘッダーが含まれている場合、リクエストは、指定されたバージョンのプロパティとコンテンツではなく、指定されたバージョンのプロパティとコンテンツをコピーしている必要がありますバージョン管理されたリソース。

8.8 Additional CHECKOUT Semantics
8.8 追加のCHECKOUTセマンティクス

If the server supports the working-resource option, a LABEL header may be included to check out the version selected by the specified label.

サーバーがworking-resourceオプションをサポートしている場合、指定されたラベルによって選択されたバージョンをチェックアウトするために、LABELヘッダーが含まれる場合があります。

Additional Marshalling:

追加のマーシャリング:

The request MAY include a Label header.

リクエストには、Labelヘッダーが含まれる場合があります。

Additional Preconditions:

追加の前提条件:

(DAV:must-select-version-in-history): If a Label request header is included and the request-URL identifies a version-controlled resource, the specified label MUST select a version in the version history of the version-controlled resource.

(DAV:must-select-version-in-history):Labelリクエストヘッダーが含まれ、request-URLがバージョン管理されたリソースを識別する場合、指定されたラベルは、バージョン管理されたリソースのバージョン履歴でバージョンを選択する必要があります。

(DAV:must-not-have-label-and-apply-to-version): If a Label request header is included, the request body MUST NOT contain a DAV:apply-to-version element.

(DAV:must-not-have-label-and-apply-to-version):Labelリクエストヘッダーが含まれている場合、リクエストの本文にDAV:apply-to-version要素を含めることはできません。

Additional Postconditions:

追加の事後条件:

(DAV:apply-request-to-labeled-version): If the request-URL identifies a checked-in version-controlled resource, and a Label request header is included, the CHECKOUT MUST have been applied to the version selected by the specified label, and not to the version-controlled resource itself.

(DAV:apply-request-to-labeled-version):リクエストURLがチェックインされたバージョン管理されたリソースを識別し、ラベルリクエストヘッダーが含まれている場合、指定されたバージョンによって選択されたバージョンにチェックアウトを適用する必要がありますバージョン管理されたリソース自体ではなく、ラベル。

8.9 Additional UPDATE Semantics
8.9 追加のUPDATEセマンティクス

If the request body of an UPDATE request contains a DAV:label-name element, the update target is the resource identified by the request-URL, and the update source is the version selected by the specified label from the version history of the update target.

UPDATEリクエストのリクエスト本文にDAV:label-name要素が含まれている場合、更新ターゲットはrequest-URLによって識別されるリソースであり、更新ソースは、更新ターゲットのバージョン履歴から指定されたラベルによって選択されたバージョンです。

Additional Marshalling:

追加のマーシャリング:

      <!ELEMENT update ANY>
      ANY value: A sequence of elements with at most one DAV:label-name
      or DAV:version element (but not both).
      <!ELEMENT label-name (#PCDATA)>
      PCDATA value: string
        

The request MAY include a Depth header. If no Depth header is included, Depth:0 is assumed. Standard depth semantics apply, and the request is applied to the collection identified by the request-URL and to all members of the collection that satisfy the Depth value. If a Depth header is included and the request fails on any resource, the response MUST be a 207 Multi-Status that identifies all resources for which the request has failed.

リクエストにはDepthヘッダーが含まれる場合があります。 Depthヘッダーが含まれていない場合、Depth:0が想定されます。標準の深さのセマンティクスが適用され、要求は、request-URLによって識別されるコレクションと、深さの値を満たすコレクションのすべてのメンバーに適用されます。 Depthヘッダーが含まれていて、要求がいずれかのリソースで失敗した場合、応答は、要求が失敗したすべてのリソースを識別する207 Multi-Statusである必要があります。

Additional Preconditions:

追加の前提条件:

(DAV:must-select-version-in-history): If the request includes a DAV:label-name element in the request body, the label MUST select a version in the version history of the version-controlled resource identified by the request-URL.

(DAV:must-select-version-in-history):リクエストの本文にDAV:label-name要素が含まれている場合、ラベルは、リクエストで識別されたバージョン管理されたリソースのバージョン履歴のバージョンを選択する必要があります-URL。

(DAV:depth-update): If the request includes a Depth header, standard depth semantics apply, and the request is applied to the collection identified by the request-URL and to all members of the collection that satisfy the Depth value. The request MUST be applied to a collection before being applied to any members of that collection, since an update of a version-controlled collection might change the membership of that collection.

(DAV:depth-update):リクエストにDepthヘッダーが含まれている場合、標準の深度セマンティクスが適用され、リクエストは、request-URLで識別されるコレクションと、Depth値を満たすコレクションのすべてのメンバーに適用されます。バージョン管理されたコレクションの更新はそのコレクションのメンバーシップを変更する可能性があるため、リクエストはそのコレクションのメンバーに適用される前にコレクションに適用される必要があります。

Additional Postconditions:

追加の事後条件:

(DAV:apply-request-to-labeled-version): If a DAV:label-name element appears in the request body, the content and dead properties of the version-controlled resource must have been updated to be those of the version selected by that label.

(DAV:apply-request-to-labeled-version):DAV:label-name要素がリクエストの本文に表示される場合、バージョン管理されたリソースのコンテンツとデッドプロパティは、選択されたバージョンのものに更新されている必要がありますそのラベルで。

9 Working-Resource Feature

9作業リソース機能

The working-resource feature provides an alternative to the workspace feature for supporting parallel development. Unlike the workspace feature, where the desired configuration of versions and checked-out resources is maintained on the server, the working-resource feature maintains the configuration on the client. This simplifies the server implementation, but does not allow a user to access the configuration from clients in different physical locations, such as from another office, from home, or while traveling. Another difference is that the workspace feature isolates clients from a logical change that involves renaming shared resources, until that logical change is complete and tested; with the working resource feature, all clients use a common set of shared version-controlled resources and every client sees the result of a MOVE as soon as it occurs.

作業リソース機能は、並行開発をサポートするためのワークスペース機能の代替手段を提供します。バージョンとチェックアウトされたリソースの望ましい構成がサーバー上で維持されるワークスペース機能とは異なり、作業リソース機能はクライアント上の構成を維持します。これによりサーバーの実装が簡略化されますが、ユーザーは別のオフィスから、自宅から、旅行中になど、物理的に異なる場所にあるクライアントから構成にアクセスできなくなります。もう1つの違いは、ワークスペース機能により、共有リソースの名前変更を含む論理変更からクライアントが分離され、その論理変更が完了してテストされるまでです。作業リソース機能を使用すると、すべてのクライアントがバージョン管理された共有リソースの共通セットを使用し、すべてのクライアントはMOVEが発生するとすぐにその結果を確認します。

If a server supports the working-resource feature but not the checkout-in-place feature, a CHECKOUT request can only be used to create a working resource, and cannot be used to check out a version-controlled resource. If a server supports the checkout-in-place feature, but not the working-resource feature, a CHECKOUT can only be used to change the state of a version-controlled resource from checked-in to checked-out.

サーバーが作業リソース機能をサポートしていて、チェックアウトインプレース機能をサポートしていない場合、CHECKOUT要求は作業リソースの作成にのみ使用でき、バージョン管理されたリソースのチェックアウトには使用できません。サーバーがチェックアウトインプレイス機能をサポートしていて、作業リソース機能をサポートしていない場合、CHECKOUTは、バージョン管理されたリソースの状態をチェックインからチェックアウトに変更するためにのみ使用できます。

9.1 Additional Version Properties
9.1 追加のバージョンプロパティ

The working-resource feature introduces the following REQUIRED properties for a version.

作業リソース機能は、バージョンに次の必須プロパティを導入します。

9.1.1 DAV:checkout-fork
9.1.1 DAV:Hescoteフォーク

This property is defined in Section 4.1.1.

このプロパティはセクション4.1.1で定義されています。

9.1.2 DAV:checkin-fork
9.1.2 DAV:チェックインフォーク

This property is defined in Section 4.1.2.

このプロパティはセクション4.1.2で定義されています。

9.2 Working Resource Properties
9.2 ワーキングリソースプロパティ

The working-resource feature introduces the following REQUIRED properties for a working resource. Since a working resource is a checked-out resource, it also has any property defined in this document for a checked-out resource.

作業リソース機能は、作業リソースに次の必須プロパティを導入します。作業リソースはチェックアウトされたリソースであるため、このドキュメントで定義されているチェックアウトされたリソースのプロパティも含まれています。

9.2.1 DAV:auto-update (protected)
9.2.1 DAV:自動更新(保護)

This property identifies the version-controlled resource that will be updated when the working resource is checked in.

このプロパティは、作業リソースがチェックインされたときに更新されるバージョン管理されたリソースを識別します。

   <!ELEMENT auto-update (href)>
        
9.2.2 DAV:checkout-fork
9.2.2 DAV:Hescoteフォーク

This property is defined in Section 4.2.1.

このプロパティはセクション4.2.1で定義されています。

9.2.3 DAV:checkin-fork
9.2.3 DAV:チェックインフォーク

This property is defined in Section 4.2.2.

このプロパティはセクション4.2.2で定義されています。

9.3 CHECKOUT Method (applied to a version)
9.3 CHECKOUTメソッド(バージョンに適用)

A CHECKOUT request can be applied to a version to create a new working resource. The content and dead properties of the working resource are a copy of the version that was checked out.

CHECKOUTリクエストをバージョンに適用して、新しい作業リソースを作成できます。作業リソースのコンテンツとデッドプロパティは、チェックアウトされたバージョンのコピーです。

Marshalling:

マーシャリング:

If a request body is included, it MUST be a DAV:checkout XML element.

リクエストの本文が含まれている場合、DAV:checkout XML要素である必要があります。

      <!ELEMENT checkout ANY>
        

ANY value: A sequence of elements with at most one DAV:apply-to-version and at most one DAV:fork-ok element.

ANY値:最大で1つのDAV:apply-to-versionおよび最大で1つのDAV:fork-ok要素を持つ一連の要素。

      <!ELEMENT apply-to-version EMPTY>
      <!ELEMENT fork-ok EMPTY>
        

If a response body for a successful request is included, it MUST be a DAV:checkout-response XML element.

成功したリクエストのレスポンスボディが含まれている場合、それはDAV:checkout-response XML要素である必要があります。

      <!ELEMENT checkout-response ANY>
        

The response MUST include a Location header.

応答にはLocationヘッダーを含める必要があります。

The response MUST include a Cache-Control:no-cache header.

応答には、Cache-Control:no-cacheヘッダーを含める必要があります。

Preconditions:

前提条件:

(DAV:checkout-of-version-with-descendant-is-forbidden): See Section 4.3.

(DAV:checkout-of-version-with-descendant-is-forbidden):セクション4.3を参照してください。

(DAV:checkout-of-version-with-descendant-is-discouraged): See Section 4.3.

(DAV:checkout-of-version-with-descendant-is-discouraged):セクション4.3を参照してください。

(DAV:checkout-of-checked-out-version-is-forbidden): See Section 4.3.

(DAV:checkout-of-checked-out-version-is-forbidden):セクション4.3を参照してください。

(DAV:checkout-of-checked-out-version-is-discouraged): See Section 4.3.

(DAV:checkout-of-checked-out-version-is-discouraged):セクション4.3を参照してください。

Postconditions:

事後条件:

(DAV:create-working-resource): If the request-URL identified a version, the Location response header MUST contain the URL of a new working resource. The DAV:checked-out property of the new working resource MUST identify the version that was checked out. The content and dead properties of the working resource MUST be copies of the content and dead properties of the DAV:checked-out version. The DAV:predecessor-set property of the working resource MUST be initialized to be the version identified by the request-URL. The DAV:auto-update property of the working resource MUST NOT exist.

(DAV:create-working-resource):request-URLがバージョンを識別した場合、Location応答ヘッダーには新しい作業リソースのURLが含まれている必要があります。新しい作業リソースのDAV:checked-outプロパティは、チェックアウトされたバージョンを識別しなければなりません(MUST)。作業リソースのコンテンツとデッドプロパティは、DAV:checked-outバージョンのコンテンツとデッドプロパティのコピーでなければなりません。作業リソースのDAV:predecessor-setプロパティは、request-URLで識別されるバージョンに初期化する必要があります。作業リソースのDAV:auto-updateプロパティは存在してはなりません。

(DAV:create-working-resource-from-checked-in-version): If the request-URL identified a version-controlled resource, and DAV:apply-to-version is specified in the request body, the CHECKOUT is applied to the DAV:checked-in version of the version-controlled resource, and not the version-controlled resource itself. A new working resource is created and the version-controlled resource remains checked-in. The DAV:auto-update property of the working resource MUST identify the version-controlled resource.

(DAV:create-working-resource-from-checked-in-version):リクエストURLがバージョン管理されたリソースを識別し、DAV:apply-to-versionがリクエスト本文で指定されている場合、CHECKOUTが適用されますバージョン管理されたリソース自体ではなく、バージョン管理されたリソースのDAV:チェックインバージョン。新しい作業リソースが作成され、バージョン管理されたリソースはチェックインされたままになります。作業リソースのDAV:auto-updateプロパティは、バージョン管理されたリソースを識別しなければなりません。

9.3.1 Example - CHECKOUT of a version
9.3.1 例-バージョンのチェックアウト

>>REQUEST

>>リクエスト

     CHECKOUT /his/12/ver/V3 HTTP/1.1
     Host: repo.webdav.org
     Content-Length: 0
        

>>RESPONSE

>>応答

     HTTP/1.1 201 Created
     Location: http://repo.webdav.org/wr/157
     Cache-Control: no-cache
        

In this example, the version identified by http://repo.webdav.org/his/12/ver/V3 is checked out, and the new working resource is located at http://repo.webdav.org/wr/157.

この例では、http://repo.webdav.org/his/12/ver/V3で識別されるバージョンがチェックアウトされており、新しい作業リソースはhttp://repo.webdav.org/wr/157にあります。 。

9.4 CHECKIN Method (applied to a working resource)
9.4 CHECKINメソッド(作業リソースに適用)

A CHECKIN request can be applied to a working resource to produce a new version whose content and dead properties are a copy of those of the working resource. If the DAV:auto-update property of the working resource was set because the working resource was created by applying a CHECKOUT with the DAV:apply-to-version flag to a version-controlled resource, the CHECKIN request will also update the content and dead properties of that version-controlled resource to be those of the new version.

CHECKIN要求を作業リソースに適用して、コンテンツとデッドプロパティが作業リソースのそれらのコピーである新しいバージョンを作成できます。 DAV:apply-to-versionフラグ付きのCHECKOUTをバージョン管理されたリソースに適用することによって作業リソースが作成されたため、作業リソースのDAV:auto-updateプロパティが設定された場合、CHECKINリクエストはコンテンツも更新し、バージョン管理されたリソースの無効なプロパティは、新しいバージョンのものになります。

Marshalling:

マーシャリング:

If a request body is included, it MUST be a DAV:checkin XML element.

リクエストの本文が含まれている場合、DAV:checkin XML要素である必要があります。

<!ELEMENT checkin ANY> ANY value: A sequence of elements with at most one DAV:fork-ok element.

<!ELEMENT checkin ANY> ANY値:DAV:fork-ok要素が最大で1つある一連の要素。

      <!ELEMENT fork-ok EMPTY>
        

If a response body for a successful request is included, it MUST be a DAV:checkin-response XML element.

成功したリクエストのレスポンスボディが含まれている場合、それはDAV:checkin-response XML要素である必要があります。

      <!ELEMENT checkin-response ANY>
        

The response MUST include a Cache-Control:no-cache header.

応答には、Cache-Control:no-cacheヘッダーを含める必要があります。

Preconditions:

前提条件:

(DAV:must-be-checked-out): See Section 4.4.

(DAV:チェックアウトする必要があります):セクション4.4を参照してください。

(DAV:version-history-is-tree) See Section 4.4.

(DAV:version-history-is-tree)セクション4.4を参照してください。

(DAV:checkin-fork-forbidden): See Section 4.4.

(DAV:checkin-fork-forbidden):セクション4.4を参照してください。

(DAV:checkin-fork-discouraged): See Section 4.4.

(DAV:checkin-fork-discouraged):セクション4.4を参照してください。

(DAV:no-overwrite-by-auto-update): If the DAV:auto-update property for the checked-out resource identifies a version-controlled resource, at least one of the versions identified by the DAV:predecessor-set property of the checked-out resource MUST identify a version that is either the same as or a descendant of the version identified by the DAV:checked-in property of that version-controlled resource.

(DAV:no-overwrite-by-auto-update):チェックアウトされたリソースのDAV:auto-updateプロパティがバージョン管理されたリソースを識別する場合、DAV:predecessor-setプロパティによって識別されるバージョンの少なくとも1つチェックアウトされたリソースのバージョンは、そのバージョン管理されたリソースのDAV:checked-inプロパティで識別されるバージョンと同じか、その子孫であるバージョンを識別しなければなりません(MUST)。

Postconditions:

事後条件:

(DAV:create-version): See Section 4.4.

(DAV:create-version):セクション4.4を参照してください。

(DAV:initialize-version-content-and-properties): See Section 4.4.

(DAV:initialize-version-content-and-properties):セクション4.4を参照してください。

(DAV:auto-update): If the DAV:auto-update property of the checked-out resource identified a version-controlled resource, an UPDATE request with the new version MUST have been applied to that version-controlled resource.

(DAV:auto-update):チェックアウトされたリソースのDAV:auto-updateプロパティがバージョン管理されたリソースを識別した場合、新しいバージョンのUPDATEリクエストがそのバージョン管理されたリソースに適用されている必要があります。

(DAV:delete-working-resource): If the request-URL identifies a working resource and if DAV:keep-checked-out is not specified in the request body, the working resource is deleted.

(DAV:delete-working-resource):リクエストURLが作業リソースを識別し、リクエスト本文でDAV:keep-checked-outが指定されていない場合、作業リソースは削除されます。

9.4.1 Example - CHECKIN of a working resource
9.4.1 例-作業リソースのチェックイン

>>REQUEST

>>リクエスト

     CHECKIN /wr/157 HTTP/1.1
     Host: repo.webdav.org
     Content-Length: 0
        

>>RESPONSE

>>応答

     HTTP/1.1 201 Created
     Location: http://repo.webdav.org/his/23/ver/15
     Cache-Control: no-cache
        

In this example, the working resource /wr/157 checked in, and a new version is created at http://repo.webdav.org/his/23/ver/15.

この例では、作業リソース/ wr / 157がチェックインされ、新しいバージョンがhttp://repo.webdav.org/his/23/ver/15に作成されます。

9.5 Additional OPTIONS Semantics
9.5 追加オプションセマンティクス

If the server supports the working-resource feature, it MUST include "working-resource" as a field in the DAV response header from an OPTIONS request on any resource that supports any versioning properties, reports, or methods.

サーバーがworking-resource機能をサポートしている場合は、バージョニングのプロパティ、レポート、またはメソッドをサポートするリソースのOPTIONSリクエストからのDAV応答ヘッダーのフィールドとして「working-resource」を含める必要があります。

9.6 Additional COPY Semantics
9.6 追加のCOPYセマンティクス

Additional Postconditions:

追加の事後条件:

(DAV:copy-creates-new-resource): The result of copying a working resource is a new non-version-controlled resource at the destination of the COPY. The new resource MAY automatically be put under version control, but the resulting version-controlled resource MUST be associated with a new version history created for that new version-controlled resource.

(DAV:copy-creates-new-resource):作業リソースをコピーした結果は、COPYの宛先にあるバージョン非制御の新しいリソースです。新しいリソースは自動的にバージョン管理下に置かれる場合がありますが、結果のバージョン管理されたリソースは、その新しいバージョン管理されたリソース用に作成された新しいバージョン履歴に関連付けられている必要があります。

9.7 Additional MOVE Semantics
9.7 追加のMOVEセマンティクス

Additional Preconditions:

追加の前提条件:

(DAV:cannot-rename-working-resource): If the request-URL identifies a working resource, the request MUST fail.

(DAV:cannot-rename-working-resource):request-URLが作業リソースを識別する場合、要求は失敗する必要があります。

Additional Postconditions:

追加の事後条件:

(DAV:update-auto-update): If the request-URL identified a version-controlled resource, any DAV:auto-update properties that identified that version-controlled resource MUST have been updated to contain the new location of that version-controlled resource.

(DAV:update-auto-update):request-URLがバージョン管理されたリソースを識別した場合、そのバージョン管理されたリソースを識別するDAV:auto-updateプロパティは、そのバージョン管理されたリソースの新しい場所を含むように更新されている必要があります。資源。

10 Advanced Versioning Features

10高度なバージョニング機能

Advanced versioning addresses the problems of parallel development and configuration management of multiple sets of interrelated resources. Traditionally, artifacts of software development, including requirements, design documents, code, and test cases, have been a focus of configuration management. Web sites, comprising multiple inter-linked resources (HTML, graphics, sound, CGI, and others), are another class of complex information artifacts that benefit from the application of configuration management. The advanced versioning capabilities for coordinating concurrent change provide the infrastructure for efficient and controlled management of large evolving web sites.

高度なバージョン管理は、相互に関連するリソースの複数のセットの並行開発および構成管理の問題に対処します。従来、要件、設計ドキュメント、コード、テストケースなどのソフトウェア開発の成果物は、構成管理の焦点でした。複数の相互リンクされたリソース(HTML、グラフィックス、サウンド、CGIなど)で構成されるWebサイトは、構成管理の適用から利益を得る複雑な情報アーティファクトの別のクラスです。同時変更を調整するための高度なバージョン管理機能は、大規模な進化するWebサイトの効率的で制御された管理のためのインフラストラクチャを提供します。

10.1 Advanced Versioning Packages
10.1 高度なバージョン管理パッケージ

Although a server MAY support any combination of advanced versioning features, in order to minimize the complexity of a WebDAV advanced versioning client, a WebDAV advanced versioning server SHOULD support one of the following packages:

サーバーは高度なバージョン管理機能の任意の組み合わせをサポートできますが、WebDAV高度なバージョン管理クライアントの複雑さを最小限に抑えるために、WebDAV高度なバージョン管理サーバーは次のパッケージのいずれかをサポートする必要があります。

Advanced-Server-Workspace Package: basic-server-workspace package plus all advanced features

Advanced-Server-Workspaceパッケージ:basic-server-workspaceパッケージとすべての高度な機能

Advanced-Client-Workspace Package: basic-client-workspace package plus all advanced features

アドバンストクライアントワークスペースパッケージ:ベーシッククライアントワークスペースパッケージとすべての高度な機能

The advanced-server-workspace package supports advanced versioning capabilities for a client with no persistent state. The advanced-client-workspace package supports advanced versioning capabilities for a client that maintains configuration state on the client. A server that supports both advanced workspace packages will interoperate with all versioning clients.

advanced-server-workspaceパッケージは、永続的な状態のないクライアントの高度なバージョン管理機能をサポートします。 advanced-client-workspaceパッケージは、クライアントの構成状態を維持するクライアントの高度なバージョン管理機能をサポートします。両方の高度なワークスペースパッケージをサポートするサーバーは、すべてのバージョン管理クライアントと相互運用します。

10.2 Advanced Versioning Terms
10.2 高度なバージョニング規約

The following additional terms are used by the advanced versioning features.

以下の追加の用語は、高度なバージョン管理機能で使用されます。

Collection

コレクション

A "collection" is a resource whose state consists of not only content and properties, but also a set of named "bindings", where a binding identifies what RFC 2518 calls an "internal member" of the collection. Note that a binding is not a resource, but rather is a part of the state of a collection that defines a mapping from a binding name (a URL segment) to a resource (an internal member of the collection).

「コレクション」とは、コンテンツとプロパティだけでなく、名前付きの「バインディング」のセットで構成される状態を持つリソースのことです。バインディングは、RFC 2518がコレクションの「内部メンバー」と呼ぶものを識別します。バインディングはリソースではなく、バインディング名(URLセグメント)からリソース(コレクションの内部メンバー)へのマッピングを定義するコレクションの状態の一部であることに注意してください。

Collection Version Resource

コレクションバージョンリソース

A "collection version resource", or simply "collection version", captures the dead properties of a version-controlled collection, as well as the names of its version-controlled bindings (see Section 14). A version-controlled binding is a binding to a version-controlled resource. If the checkout-in-place feature is supported, a collection version can be created by checking out and then checking in a version-controlled collection. If the working-resource feature is supported, a collection version can be created by checking out a collection version (to create a "working collection") and then checking in the working collection.

「コレクションバージョンリソース」または単に「コレクションバージョン」は、バージョン管理されたコレクションの無効なプロパティと、そのバージョン管理されたバインディングの名前をキャプチャします(セクション14を参照)。バージョン管理されたバインディングは、バージョン管理されたリソースへのバインディングです。チェックアウトインプレイス機能がサポートされている場合は、バージョン管理されたコレクションをチェックアウトしてからチェックインすることにより、コレクションバージョンを作成できます。ワーキングリソース機能がサポートされている場合、コレクションバージョンを作成するには、コレクションバージョンをチェックアウトし(「ワーキングコレクション」を作成する)、ワーキングコレクションをチェックインします。

Configuration

構成

A "configuration" is a set of resources that consists of a root collection and all members (not just internal members) of that root collection that are not members of another configuration. The root collection is called the "configuration root", and the members of this set are called the "members of the configuration". Note that a collection (which is a single resource) is very different from a configuration (which is a set of resources).

「構成」とは、ルートコレクションと、別の構成のメンバーではないそのルートコレクションのすべてのメンバー(内部メンバーだけではない)で構成されるリソースのセットです。ルートコレクションは「構成ルート」と呼ばれ、このセットのメンバーは「構成のメンバー」と呼ばれます。コレクション(単一のリソース)は構成(リソースのセット)とは非常に異なることに注意してください。

Baseline Resource

ベースラインリソース

A "baseline resource", or simply "baseline", of a collection is a version of the configuration that is rooted at that collection (see Section 12). In particular, a baseline captures the DAV:checked-in version of every version-controlled member of that configuration. Note that a collection version (which captures the state of a single resource) is very different from a collection baseline (which captures the state of a set of resources).

コレクションの「ベースラインリソース」または単に「ベースライン」は、そのコレクションをルートとする構成のバージョンです(セクション12を参照)。特に、ベースラインは、その構成のすべてのバージョン管理されたメンバーのDAV:checked-inバージョンをキャプチャします。コレクションバージョン(単一のリソースの状態をキャプチャする)は、コレクションベースライン(リソースのセットの状態をキャプチャする)とは非常に異なることに注意してください。

Baseline-Controlled Collection

ベースライン制御のコレクション

A "baseline-controlled collection" is a collection from which baselines can be created (see Section 12).

「ベースライン制御コレクション」は、ベースラインを作成できるコレクションです(セクション12を参照)。

Version-Controlled Configuration Resource

バージョン管理された構成リソース

A "version-controlled configuration resource", or simply "version-controlled configuration", is a special kind of version-controlled resource that is associated with a baseline-controlled collection, and is used to create and access baselines of that collection (see Section 12). When a collection is both version-controlled and baseline-controlled, a client can create a new version of the collection by checking out and checking in that collection, and it can create a new baseline of that collection by checking out and checking in the version-controlled configuration of that collection.

「バージョン管理された構成リソース」または単に「バージョン管理された構成」は、ベースライン管理されたコレクションに関連付けられた特別な種類のバージョン管理されたリソースであり、そのコレクションのベースラインを作成してアクセスするために使用されます(セクション12)。コレクションがバージョン管理とベースライン管理の両方である場合、クライアントはそのコレクションをチェックアウトしてチェックインすることでコレクションの新しいバージョンを作成でき、バージョンをチェックアウトしてチェックインすることでそのコレクションの新しいベースラインを作成できます。 -そのコレクションの制御された構成。

Activity Resource

アクティビティリソース

An "activity resource", or simply "activity", is a resource that selects a set of versions that correspond to a single logical change, where the versions selected from a given version history form a single line of descent through that version history (see Section 13).

「アクティビティリソース」または単に「アクティビティ」は、単一の論理変更に対応するバージョンのセットを選択するリソースです。ここで、特定のバージョン履歴から選択されたバージョンは、そのバージョン履歴を通じて単一の系統を形成します(セクション13)。

11 Merge Feature

11マージ機能

When a user wants to accept the changes (new versions) created by someone else, it is important not just to update the version-controlled resources in the user's workspace with those new versions, since this could result in "backing out" changes the user has made to those version-controlled resources. Instead, the versions created in another workspace should be "merged" into the user's version-controlled resources.

ユーザーが他のユーザーが作成した変更(新しいバージョン)を受け入れたい場合、ユーザーのワークスペースのバージョン管理されたリソースをそれらの新しいバージョンで更新するだけでなく、これによりユーザーの変更が「バックアウト」される可能性があるためです。これらのバージョン管理されたリソースを作成しました。代わりに、別のワークスペースで作成されたバージョンを、ユーザーのバージョン管理されたリソースに「マージ」する必要があります。

The version history of a version-controlled resource provides the information needed to determine the result of the merge. In particular, the merge should select whichever version is later in the line of descent from the root version. In case the versions to be merged are on different lines of descent (neither version is a descendant of the other), neither version should be selected, but instead, a new version should be created that contains the logical merge of the content and dead properties of those versions. The MERGE request can be used to check out each version-controlled resource that requires such a merge, and set the DAV:merge-set property of each checked-out resource to identify the version to be merged. The user is responsible for modifying the content and dead properties of the checked-out resource so that it represents the logical merge of that version, and then adding that version to the DAV:predecessor-set of the checked-out resource.

バージョン管理されたリソースのバージョン履歴は、マージの結果を決定するために必要な情報を提供します。特に、マージでは、ルートバージョンの下位にあるどのバージョンでも選択する必要があります。マージするバージョンが異なる系統にある場合(どちらのバージョンも他方の子孫ではない場合)、どちらのバージョンも選択する必要はありませんが、代わりに、コンテンツと無効なプロパティの論理的なマージを含む新しいバージョンを作成する必要がありますそれらのバージョンの。 MERGEリクエストを使用して、そのようなマージを必要とする各バージョン管理リソースをチェックアウトし、各チェックアウトリソースのDAV:merge-setプロパティを設定して、マージするバージョンを識別できます。ユーザーは、チェックアウトされたリソースのコンテンツと無効なプロパティを変更して、そのバージョンの論理マージを表すようにし、そのバージョンをチェックアウトされたリソースのDAV:predecessor-setに追加する必要があります。

If the server is capable of automatically performing the merge, it MAY update the content, dead properties, and DAV:predecessor-set of the checked-out resource itself. Before checking in the automatically merged resource, the user is responsible for verifying that the automatic merge is correct.

サーバーが自動的にマージを実行できる場合、サーバーはチェックアウトされたリソース自体のコンテンツ、無効なプロパティ、およびDAV:predecessor-setを更新できます(MAY)。自動マージされたリソースをチェックインする前に、ユーザーは自動マージが正しいことを確認する責任があります。

11.1 Additional Checked-Out Resource Properties
11.1 追加のチェックアウトされたリソースプロパティ

The merge feature introduces the following REQUIRED properties for a checked-out resource.

マージ機能は、チェックアウトされたリソースに次の必須プロパティを導入します。

11.1.1 DAV:merge-set
11.1.1 DAV:マージセット

This property identifies each version that is to be merged into this checked-out resource.

このプロパティは、このチェックアウトされたリソースにマージされる各バージョンを識別します。

   <!ELEMENT merge-set (href*)>
        
11.1.2 DAV:auto-merge-set
11.1.2 DAV:自動マージセット

This property identifies each version that the server has merged into this checked-out resource. The client should confirm that the merge has been performed correctly before moving a URL from the DAV:auto-merge-set to the DAV:predecessor-set of a checked-out resource.

このプロパティは、サーバーがこのチェックアウトされたリソースにマージした各バージョンを識別します。クライアントは、URLをDAV:auto-merge-setからチェックアウトされたリソースのDAV:predecessor-setに移動する前に、マージが正しく実行されたことを確認する必要があります。

   <!ELEMENT auto-merge-set (href*)>
        
11.2 MERGE Method
11.2 MERGEメソッド

The MERGE method performs the logical merge of a specified version (the "merge source") into a specified version-controlled resource (the "merge target"). If the merge source is neither an ancestor nor a descendant of the DAV:checked-in or DAV:checked-out version of the merge target, the MERGE checks out the merge target (if it is not already checked out) and adds the URL of the merge source to the DAV:merge-set of the merge target. It is then the client's responsibility to update the content and dead properties of the checked-out merge target so that it reflects the logical merge of the merge source into the current state of the merge target. The client indicates that it has completed the update of the merge target, by deleting the merge source URL from the DAV:merge-set of the checked-out merge target, and adding it to the DAV:predecessor-set. As an error check for a client forgetting to complete a merge, the server MUST fail an attempt to CHECKIN a version-controlled resource with a non-empty DAV:merge-set.

MERGEメソッドは、指定されたバージョン(「マージソース」)を指定されたバージョン管理されたリソース(「マージターゲット」)に論理的にマージします。マージソースがマージターゲットのDAV:checked-inまたはDAV:checked-outバージョンの祖先でも子孫でもない場合、MERGEはマージターゲットをチェックアウトし(まだチェックアウトされていない場合)、URLを追加しますマージソースのDAV:merge-setをマージターゲットに追加します。次に、チェックアウトされたマージターゲットのコンテンツと無効なプロパティを更新して、マージソースの論理的なマージをマージターゲットの現在の状態に反映させるのは、クライアントの責任です。クライアントは、チェックアウトされたマージターゲットのDAV:merge-setからマージソースURLを削除し、DAV:predecessor-setに追加することにより、マージターゲットの更新が完了したことを示します。マージの完了を忘れているクライアントのエラーチェックとして、サーバーは、空でないDAV:merge-setでバージョン管理されたリソースをチェックインする試みに失敗する必要があります。

When a server has the ability to automatically update the content and dead properties of the merge target to reflect the logical merge of the merge source, it may do so unless DAV:no-auto-merge is specified in the MERGE request body. In order to notify the client that a merge source has been automatically merged, the MERGE request MUST add the URL of the auto-merged source to the DAV:auto-merge-set property of the merge target, and not to the DAV:merge-set property. The client indicates that it has verified that the auto-merge is valid, by deleting the merge source URL from the DAV:auto-merge-set, and adding it to the DAV:predecessor-set.

サーバーがマージターゲットのコンテンツとデッドプロパティを自動的に更新して、マージソースの論理マージを反映する機能を備えている場合、MERGEリクエストの本文でDAV:no-auto-mergeが指定されていない限り、更新される可能性があります。マージソースが自動的にマージされたことをクライアントに通知するために、MERGEリクエストは、自動マージされたソースのURLを、DAV:mergeではなく、マージターゲットのDAV:auto-merge-setプロパティに追加する必要があります。 -setプロパティ。クライアントは、DAV:auto-merge-setからマージソースURLを削除し、DAV:predecessor-setに追加することにより、自動マージが有効であることを確認したことを示します。

Multiple merge sources can be specified in a single MERGE request. The set of merge sources for a MERGE request is determined from the DAV:source element of the MERGE request body as follows:

1つのMERGEリクエストで複数のマージソースを指定できます。 MERGEリクエストのマージソースのセットは、次のようにMERGEリクエストボディのDAV:source要素から決定されます。

- If DAV:source identifies a version, that version is a merge source. - If DAV:source identifies a version-controlled resource, the DAV:checked-in version of that version-controlled resource is a merge source.

- DAV:sourceがバージョンを識別する場合、そのバージョンはマージソースです。 -DAV:sourceがバージョン管理されたリソースを識別する場合、そのバージョン管理されたリソースのDAV:checked-inバージョンはマージソースです。

- If DAV:source identifies a collection, the DAV:checked-in version of each version-controlled resource that is a member of that collection is a merge source.

- DAV:sourceがコレクションを識別する場合、そのコレクションのメンバーである各バージョン管理されたリソースのDAV:checked-inバージョンはマージソースです。

The request-URL identifies the set of possible merge targets. If the request-URL identifies a collection, any member of the configuration rooted at the request-URL is a possible merge target. The merge target of a particular merge source is the version-controlled or checked-out resource whose DAV:checked-in or DAV:checked-out version is from the same version history as the merge source. If a merge source has no merge target, that merge source is ignored.

request-URLは、可能なマージターゲットのセットを識別します。 request-URLがコレクションを識別している場合、request-URLをルートとする構成のすべてのメンバーがマージターゲットの可能性があります。特定のマージソースのマージターゲットは、DAV:checked-inまたはDAV:checked-outバージョンがマージソースと同じバージョン履歴にあるバージョン管理またはチェックアウトされたリソースです。マージソースにマージターゲットがない場合、そのマージソースは無視されます。

The MERGE response identifies the resources that a client must modify to complete the merge. It also identifies the resources modified by the request, so that a client can efficiently update any cached state it is maintaining.

MERGE応答は、クライアントがマージを完了するために変更する必要があるリソースを識別します。また、リクエストによって変更されたリソースを識別し、クライアントが保持しているキャッシュされた状態を効率的に更新できるようにします。

Marshalling:

マーシャリング:

The request body MUST be a DAV:merge element.

リクエストの本文はDAV:merge要素である必要があります。

The set of merge sources is determined by the DAV:source element in the request body.

マージソースのセットは、リクエストの本文のDAV:source要素によって決定されます。

      <!ELEMENT merge ANY>
      ANY value: A sequence of elements with one DAV:source element, at
      most one DAV:no-auto-merge element, at most one DAV:no-checkout
      element, at most one DAV:prop element, and any legal set of
      elements that can occur in a DAV:checkout element.
      <!ELEMENT source (href+)>
      <!ELEMENT no-auto-merge EMPTY>
      <!ELEMENT no-checkout EMPTY>
      prop: see RFC 2518, Section 12.11
        

The response for a successful request MUST be a 207 Multi-Status, where the DAV:multistatus XML element in the response body identifies all resources that have been modified by the request.

成功した要求の応答は、207マルチステータスである必要があります。応答本文のDAV:multistatus XML要素は、要求によって変更されたすべてのリソースを識別します。

multistatus: see RFC 2518, Section 12.9

multistatus:RFC 2518、セクション12.9を参照

The response to a successful request MUST include a Location header containing the URL for the new version created by the checkin.

成功した要求への応答には、チェックインによって作成された新しいバージョンのURLを含むLocationヘッダーを含める必要があります。

The response MUST include a Cache-Control:no-cache header.

応答には、Cache-Control:no-cacheヘッダーを含める必要があります。

Preconditions:

前提条件:

(DAV:cannot-merge-checked-out-resource): The DAV:source element MUST NOT identify a checked-out resource. If the DAV:source element identifies a collection, the collection MUST NOT have a member that is a checked-out resource.

(DAV:cannot-merge-checked-out-resource):DAV:source要素は、チェックアウトされたリソースを識別してはなりません(MUST NOT)。 DAV:source要素がコレクションを識別する場合、コレクションには、チェックアウトされたリソースであるメンバーがあってはなりません(MUST NOT)。

(DAV:checkout-not-allowed): If DAV:no-checkout is specified in the request body, it MUST be possible to perform the merge without checking out any of the merge targets.

(DAV:checkout-not-allowed):リクエストの本文でDAV:no-checkoutが指定されている場合、マージターゲットをチェックアウトせずにマージを実行できる必要があります。

All preconditions of the CHECKOUT operation apply to the checkouts performed by the request.

CHECKOUT操作のすべての前提条件は、要求によって実行されるチェックアウトに適用されます。

Postconditions:

事後条件:

(DAV:ancestor-version): If a merge target is a version-controlled or checked-out resource whose DAV:checked-in version or DAV:checked-out version is the merge source or is a descendant of the merge source, the merge target MUST NOT have been modified by the MERGE.

(DAV:ancestor-version):マージターゲットが、DAV:チェックインバージョンまたはDAV:チェックアウトバージョンがマージソースであるか、マージソースの子孫であるバージョン管理またはチェックアウトされたリソースである場合、マージターゲットはMERGEによって変更されてはなりません。

(DAV:descendant-version): If the merge target was a checked-in version-controlled resource whose DAV:checked-in version was an ancestor of the merge source, an UPDATE operation MUST have been applied to the merge target to set its content and dead properties to be those of the merge source. If the UPDATE method is not supported, the merge target MUST have been checked out, the content and dead properties of the merge target MUST have been set to those of the merge source, and the merge source MUST have been added to the DAV:auto-merge-set of the merge target. The merge target MUST appear in a DAV:response XML element in the response body.

(DAV:descendant-version):マージターゲットが、DAV:checked-inバージョンがマージソースの祖先であるチェックインバージョン管理リソースであった場合、更新操作をマージターゲットに適用して、コンテンツとデッドプロパティをマージソースのプロパティにします。 UPDATEメソッドがサポートされていない場合、マージターゲットがチェックアウトされている必要があり、マージターゲットのコンテンツとデッドプロパティがマージソースのプロパティとデッドプロパティに設定されている必要があり、マージソースがDAV:autoに追加されている必要があります。マージターゲットの-merge-set。マージターゲットは、応答本文のDAV:response XML要素に出現する必要があります。

(DAV:checked-out-for-merge): If the merge target was a checked-in version-controlled resource whose DAV:checked-in version was neither a descendant nor an ancestor of the merge source, a CHECKOUT MUST have been applied to the merge target. All XML elements in the DAV:merge XML element that could appear in a DAV:checkout XML element MUST have been used as arguments to the CHECKOUT request. The merge target MUST appear in a DAV:response XML element in the response body.

(DAV:checked-out-for-merge):マージターゲットが、DAV:checked-inバージョンがマージソースの子孫でも祖先でもないチェックインバージョン管理リソースである場合、チェックアウトを適用する必要がありますマージターゲットに。 DAV:checkout XML要素に出現する可能性のあるDAV:merge XML要素のすべてのXML要素は、CHECKOUT要求への引数として使用されている必要があります。マージターゲットは、応答本文のDAV:response XML要素に出現する必要があります。

(DAV:update-merge-set): If the DAV:checked-out version of the merge target is neither equal to nor a descendant of the merge source, the merge source MUST be added to either the DAV:merge-set or the DAV:auto-merge-set of the merge target. The merge target MUST appear in a DAV:response XML element in the response body.

(DAV:update-merge-set):マージターゲットのDAV:checked-outバージョンがマージソースの子孫とも等しくない場合、マージソースはDAV:merge-setまたはDAV:マージターゲットのauto-merge-set。マージターゲットは、応答本文のDAV:response XML要素に出現する必要があります。

If a merge source has been added to the DAV:auto-merge-set, the content and dead properties of the merge target MUST have been modified by the server to reflect the result of a logical merge of the merge source and the merge target. If a merge source has been added to the DAV:merge-set, the content and dead properties of the merge target MUST NOT have been modified by the server. If DAV:no-auto-merge is specified in the request body, the merge source MUST NOT have been added to the DAV:auto-merge-set.

マージソースがDAV:auto-merge-setに追加されている場合、マージターゲットのコンテンツとデッドプロパティは、マージソースとマージターゲットの論理マージの結果を反映するようにサーバーによって変更されている必要があります。マージソースがDAV:merge-setに追加されている場合、マージターゲットのコンテンツとデッドプロパティはサーバーによって変更されてはなりません。リクエストの本文でDAV:no-auto-mergeが指定されている場合、マージソースをDAV:auto-merge-setに追加してはなりません。

(DAV:report-properties): If DAV:prop is specified in the request body, the properties specified in the DAV:prop element MUST be reported in the DAV:response elements in the response body.

(DAV:report-properties):リクエスト本文でDAV:propが指定されている場合、DAV:prop要素で指定されたプロパティは、応答本文のDAV:response要素で報告される必要があります。

11.2.1 Example - MERGE
11.2.1 例-マージ

>>REQUEST

>>リクエスト

     MERGE /ws/public HTTP/1.1
     Host: www.webdav.org
     Content-type: text/xml; charset="utf-8"
     Content-Length: xxxx
        
     <?xml version="1.0" encoding="utf-8" ?>
     <D:merge xmlns:D="DAV:">
       <D:source>
         <D:href>http://www.webdav.org/ws/dev/sally</D:href>
       </D:source>
     </D:merge>
        

>>RESPONSE

>>応答

     HTTP/1.1 207 Multi-Status
     Content-Type: text/xml; charset="utf-8"
     Content-Length: xxxx
     Cache-Control: no-cache
        
     <?xml version="1.0" encoding="utf-8" ?>
     <D:multistatus xmlns:D="DAV:">
       <D:response>
   <D:href>http://www.webdav.org/ws/public/src/parse.c</D:href>
   <D:status>HTTP/1.1 200 OK</D:status>
       </D:response>
       <D:response>
   <D:href>http://www.webdav.org/ws/public/doc/parse.html</D:href>
   <D:status>HTTP/1.1 200 OK</D:status>
       </D:response>
     </D:multistatus>
        

In this example, the DAV:checked-in versions from the workspace http://www.webdav.org/ws/dev/sally are merged into the version-controlled resources in the workspace http://www.webdav.org/ws/public. The resources /ws/public/src/parse.c and /ws/public/doc/parse.html were modified by the request.

この例では、ワークスペースhttp://www.webdav.org/ws/dev/sallyのDAV:checked-inバージョンが、ワークスペースhttp://www.webdav.org/のバージョン管理されたリソースにマージされます。 ws / public。リソース/ws/public/src/parse.cおよび/ws/public/doc/parse.htmlは、リクエストによって変更されました。

11.3 DAV:merge-preview Report
11.3 DAV:go-previewレポート

A merge preview describes the changes that would result if the versions specified by the DAV:source element in the request body were to be merged into the resource identified by the request-URL (commonly, a collection).

マージプレビューは、リクエストの本文のDAV:source要素で指定されたバージョンが、リクエストURLで識別されるリソース(通常はコレクション)にマージされる場合に生じる変更について説明します。

Marshalling:

マーシャリング:

The request body MUST be a DAV:merge-preview XML element.

リクエストの本文はDAV:merge-preview XML要素である必要があります。

      <!ELEMENT merge-preview (source)>
      <!ELEMENT source (href)>
        

The response body for a successful request MUST be a DAV:merge-preview-report XML element.

成功した要求の応答本文は、DAV:merge-preview-report XML要素である必要があります。

      <!ELEMENT merge-preview-report
       (update-preview | conflict-preview | ignore-preview)*>
        

A DAV:update-preview element identifies a merge target whose DAV:checked-in property would change as a result of the MERGE, and identifies the merge source for that merge target.

DAV:update-preview要素は、MERGEの結果としてDAV:checked-inプロパティが変更されるマージターゲットを識別し、そのマージターゲットのマージソースを識別します。

      <!ELEMENT update-preview (target, version)>
      <!ELEMENT target (href)>
      <!ELEMENT version (href)>
        

A DAV:conflict-preview element identifies a merge target that requires a merge.

DAV:conflict-preview要素は、マージが必要なマージターゲットを識別します。

      <!ELEMENT conflict-preview (target, common-ancestor, version)>
        

A DAV:common-ancestor element identifies the version that is a common ancestor of both the merge source and the DAV:checked-in or DAV:checked-out version of the merge target.

DAV:common-ancestor要素は、マージソースと、マージターゲットのDAV:checked-inまたはDAV:checked-outバージョンの両方の共通の祖先であるバージョンを識別します。

      <!ELEMENT common-ancestor (href)>
        

A DAV:ignore-preview element identifies a version that has no merge target and therefore would be ignored by the merge.

DAV:ignore-preview要素は、マージターゲットがないため、マージによって無視されるバージョンを識別します。

      <!ELEMENT ignore-preview (version)>
        
11.3.1 Example - DAV:merge-preview Report
11.3.1 例-DAV:merge-previewレポート

>>REQUEST

>>リクエスト

     REPORT /ws/public HTTP/1.1
     Host: www.webdav.org
     Content-type: text/xml; charset="utf-8"
     Content-Length: xxxx
        
     <?xml version="1.0" encoding="utf-8" ?>
     <D:merge-preview xmlns:D="DAV:">
       <D:source>
         <D:href>http://www.webdav.org/ws/dev/fred</D:href>
       </D:source>
     </D:merge-preview>
        

>>RESPONSE

>>応答

     HTTP/1.1 200 OK
     Content-Type: text/xml; charset="utf-8"
     Content-Length: xxxx
        
     <?xml version="1.0" encoding="utf-8" ?>
     <D:merge-preview-report xmlns:D="DAV:">
       <D:conflict-preview>
         <D:target>
           <D:href>http://www.webdav.org/ws/public/foo.html</D:href>
         </D:target>
         <D:common-ancestor>
           <D:href>http://repo.webdav.org/his/23/ver/18</D:href>
         </D:common-ancestor>
         <D:version>
           <D:href>http://repo.webdav.org/his/23/ver/42</D:href>
         </D:version>
       </D:conflict-preview>
       <D:update-preview>
         <D:target>
           <D:href>http://www.webdav.org/ws/public/bar.html</D:href>
         </D:target>
         <D:version>
           <D:href>http://www.repo/his/42/ver/3</D:href>
         </D:version>
       </D:update-preview>
     </D:merge-preview-report>
        

In this example, the merge preview report indicates that version /his/23/ver/42 would be merged in /ws/public/foo.html, and version /his/42/ver/3 would update /ws/public/bar.html if the workspace http://www.webdav.org/ws/dev/fred was merged into the workspace http://www.webdav.org/ws/public.

この例では、マージプレビューレポートは、バージョン/ his / 23 / ver / 42が/ws/public/foo.htmlにマージされ、バージョン/ his / 42 / ver / 3が/ ws / public / barを更新することを示しています.htmlワークスペースhttp://www.webdav.org/ws/dev/fredがワークスペースhttp://www.webdav.org/ws/publicにマージされた場合。

11.4 Additional OPTIONS Semantics
11.4 追加オプションセマンティクス

If the server supports the merge feature, it MUST include "merge" as a field in the DAV response header from an OPTIONS request on any resource that supports any versioning properties, reports, or methods.

サーバーがマージ機能をサポートしている場合は、バージョニングプロパティ、レポート、またはメソッドをサポートするリソースのOPTIONSリクエストからのDAV応答ヘッダーのフィールドとして「マージ」を含める必要があります。

11.5 Additional DELETE Semantics
11.5 追加のDELETEセマンティクス

Additional Postconditions:

追加の事後条件:

(DAV:delete-version-reference): If a version is deleted, any reference to that version in a DAV:merge-set or DAV:auto-merge-set property MUST be removed.

(DAV:delete-version-reference):バージョンが削除された場合、DAV:merge-setまたはDAV:auto-merge-setプロパティでそのバージョンへの参照を削除する必要があります。

11.6 Additional CHECKIN Semantics
11.6 追加のCHECKINセマンティクス

Additional Preconditions:

追加の前提条件:

(DAV:merge-must-be-complete): The DAV:merge-set and DAV:auto-merge-set of the checked-out resource MUST be empty or not exist.

(DAV:merge-must-be-complete):チェックアウトされたリソースのDAV:merge-setおよびDAV:auto-merge-setは空であるか、存在しない必要があります。

12 Baseline Feature

12ベースライン機能

A configuration is a set of resources that consists of a root collection and all members of that root collection except those resources that are members of another configuration. A configuration that contains a large number of resources can consume a large amount of space on a server. This can make it prohibitively expensive to remember the state of an existing configuration by creating a Depth:infinity copy of its root collection.

構成は、ルートコレクションと、別の構成のメンバーであるリソースを除く、ルートコレクションのすべてのメンバーで構成されるリソースのセットです。多数のリソースを含む構成は、サーバー上の大量のスペースを消費する可能性があります。これにより、ルートコレクションのDepth:infinityコピーを作成することにより、既存の構成の状態を記憶するのが非常に高価になる可能性があります。

A baseline is a version resource that captures the state of each version-controlled member of a configuration. A baseline history is a version history whose versions are baselines. New baselines are created by checking out and then checking in a special kind of version-controlled resource called a version-controlled configuration.

ベースラインは、バージョン管理された構成の各メンバーの状態をキャプチャするバージョンリソースです。ベースライン履歴は、バージョンがベースラインであるバージョン履歴です。新しいベースラインは、バージョン管理された構成と呼ばれる特別な種類のバージョン管理されたリソースをチェックアウトしてからチェックインすることによって作成されます。

A collection that is under baseline control is called a baseline-controlled collection. In order to allow efficient baseline implementation, the state of a baseline of a collection is limited to be a set of versions and their names relative to the collection, and the operations on a baseline are limited to the creation of a baseline from a collection, and restoring or merging the baseline back into a collection. A server MAY automatically put a collection under baseline control when it is created, or a client can use the BASELINE-CONTROL method to put a specified collection under baseline control.

ベースライン制御下にあるコレクションは、ベースライン制御コレクションと呼ばれます。効率的なベースラインの実装を可能にするために、コレクションのベースラインの状態は、コレクションに対するバージョンとその名前のセットに限定され、ベースラインでの操作は、コレクションからのベースラインの作成に限定されます。ベースラインを復元またはマージしてコレクションに戻します。サーバーは、作成時にコレクションを自動的にベースライン制御下に置くことができます。または、クライアントはBASELINE-CONTROLメソッドを使用して、指定されたコレクションをベースライン制御下に置くことができます。

As a configuration gets large, it is often useful to break it up into a set of smaller configurations that form the logical "components" of that configuration. In order to capture the fact that a baseline of a configuration is logically extended by a component configuration baseline, the component configuration baseline is captured as a "subbaseline" of the baseline.

構成が大きくなると、その構成の論理的な「コンポーネント」を形成する一連の小さな構成に分割すると便利なことがよくあります。構成のベースラインがコンポーネント構成ベースラインによって論理的に拡張されるという事実をキャプチャするために、コンポーネント構成ベースラインはベースラインの「サブベースライン」としてキャプチャされます。

The root collection of a configuration is unconstrained with respect to its relationship to the root collection of any of its components. In particular, the root collection of a configuration can have a member that is the root collection of one of its components (e.g., configuration /sys/x can have a component /sys/x/foo), can be a member of the root collection of one of its components (e.g., configuration /sys/y/z can have a component /sys/y), or neither (e.g., configuration /sys/x can have a component /comp/bar).

構成のルートコレクションは、任意のコンポーネントのルートコレクションとの関係に関して制約されていません。特に、構成のルートコレクションは、そのコンポーネントの1つのルートコレクションであるメンバーを持つことができます(たとえば、構成/ sys / xはコンポーネント/ sys / x / fooを持つことができます)、ルートのメンバーになることができますそのコンポーネントの1つのコレクション(たとえば、構成/ sys / y / zはコンポーネント/ sys / yを持つことができます)またはどちらでもありません(たとえば、構成/ sys / xはコンポーネント/ comp / barを持つことができます)。

12.1 Version-Controlled Configuration Properties
12.1 バージョン管理された構成プロパティ

Since a version-controlled configuration is a version-controlled resource, it has all the properties of a version-controlled resource. In addition, the baseline feature introduces the following REQUIRED property for a version-controlled configuration.

バージョン管理された構成はバージョン管理されたリソースであるため、バージョン管理されたリソースのすべてのプロパティがあります。さらに、ベースライン機能では、バージョン管理された構成に次の必須プロパティが導入されています。

12.1.1 DAV:baseline-controlled-collection (protected)
12.1.1 DAV:ベースライン制御コレクション(保護)

This property identifies the collection that contains the version-controlled resources whose DAV:checked-in versions are being tracked by this version-controlled configuration. The DAV:version-controlled-configuration of the DAV:baseline-controlled-collection of a version-controlled configuration MUST identify that version-controlled configuration.

このプロパティは、バージョン管理された構成によってDAV:checked-inバージョンが追跡されているバージョン管理されたリソースを含むコレクションを識別します。 DAV:バージョン管理された構成のDAV:ベースライン管理されたコレクションのDAV:バージョン管理された構成は、そのバージョン管理された構成を識別しなければなりません。

   <!ELEMENT baseline-controlled-collection (href)>
        
12.2 Checked-Out Configuration Properties
12.2 チェックアウトされた構成プロパティ

Since a checked-out configuration is a checked-out resource, it has all the properties of a checked-out resource. In addition, the baseline feature introduces the following REQUIRED property for a checked-out configuration.

チェックアウトされた構成はチェックアウトされたリソースであるため、チェックアウトされたリソースのすべてのプロパティがあります。さらに、ベースライン機能では、チェックアウトされた構成に次の必須プロパティが導入されています。

12.2.1 DAV:subbaseline-set
12.2.1 DAV:サブベースラインセット

This property determines the DAV:subbaseline-set property of the baseline that results from checking in this resource.

このプロパティは、このリソースのチェックインから生じるベースラインのDAV:subbaseline-setプロパティを決定します。

A server MAY reject attempts to modify the DAV:subbaseline-set of a checked-out configuration.

サーバーは、チェックアウトされた構成のDAV:subbaseline-setを変更しようとする試みを拒否してもよい(MAY)。

   <!ELEMENT subbaseline-set (href*)>
        
12.3 Baseline Properties
12.3 ベースラインプロパティ

The DAV:resourcetype of a baseline MUST be DAV:baseline. Since a baseline is a version resource, it has all the properties of a version resource. In addition, the baseline feature introduces the following REQUIRED properties for a baseline.

ベースラインのDAV:resourcetypeはDAV:baselineである必要があります。ベースラインはバージョンリソースであるため、バージョンリソースのすべてのプロパティがあります。さらに、ベースライン機能は、ベースラインに次の必須プロパティを導入します。

12.3.1 DAV:baseline-collection (protected)
12.3.1 DAV:ベースラインコレクション(保護)

This property contains a server-defined URL for a collection, where each member of this collection MUST either be a version-controlled resource with the same DAV:checked-in version and relative name as a version-controlled member of the baseline-controlled collection at the time the baseline was created, or be a collection needed to provide the relative name for a version-controlled resource.

このプロパティには、コレクションのサーバー定義のURLが含まれます。このコレクションの各メンバーは、ベースライン制御のコレクションのバージョン管理されたメンバーと同じDAV:checked-inバージョンと相対名を持つバージョン管理されたリソースである必要がありますベースラインが作成されたとき、またはバージョン管理されたリソースの相対名を提供するために必要なコレクション。

   <!ELEMENT baseline-collection (href)>
        
12.3.2 DAV:subbaseline-set (protected)
12.3.2 DAV:サブベースラインセット(保護)

The URLs in the DAV:subbaseline-set property MUST identify a set of other baselines. The subbaselines of a baseline are the baselines identified by its DAV:subbaseline-set and all subbaselines of the baselines identified by its DAV:subbaseline-set.

DAV:subbaseline-setプロパティのURLは、他のベースラインのセットを識別する必要があります。ベースラインのサブベースラインは、そのDAV:subbaseline-setによって識別されるベースラインと、そのDAV:subbaseline-setによって識別されるベースラインのすべてのサブベースラインです。

   <!ELEMENT subbaseline-set (href*)>
        
12.4 Additional Resource Properties
12.4 追加のリソースプロパティ

The baseline feature introduces the following REQUIRED property for a resource.

ベースライン機能は、リソースに次の必須プロパティを導入します。

12.4.1 DAV:version-controlled-configuration (computed)
12.4.1 DAV:バージョン制御構成(計算済み)

If the resource is a member of a version-controlled configuration (i.e. the resource is a collection under baseline control or is a member of a collection under baseline control), this property identifies that version-controlled configuration.

リソースがバージョン管理された構成のメンバーである場合(つまり、リソースがベースライン管理下のコレクションであるか、ベースライン管理下のコレクションのメンバーである場合)、このプロパティはそのバージョン管理された構成を識別します。

   <!ELEMENT version-controlled-configuration (href)>
        
12.5 Additional Workspace Properties
12.5 追加のワークスペースプロパティ

The baseline feature introduces the following REQUIRED property for a workspace.

ベースライン機能は、ワークスペースに次の必須プロパティを導入します。

12.5.1 DAV:baseline-controlled-collection-set (computed)
12.5.1 DAV:ベースライン制御コレクションセット(計算済み)

This property identifies each member of the workspace that is a collection under baseline control (as well as the workspace itself, if it is under baseline control).

このプロパティは、ベースライン制御下のコレクションであるワークスペースの各メンバー(およびベースライン制御下の場合はワークスペース自体)を識別します。

   <!ELEMENT baseline-controlled-collection-set (href*)>
        
12.6 BASELINE-CONTROL Method
12.6 BASELINE-CONTROLメソッド

A collection can be placed under baseline control with a BASELINE-CONTROL request. When a collection is placed under baseline control, the DAV:version-controlled-configuration property of the collection is set to identify a new version-controlled configuration. This version-controlled configuration can be checked out and then checked in to create a new baseline for that collection.

コレクションは、BASELINE-CONTROLリクエストを使用してベースライン制御下に置くことができます。コレクションがベースライン管理下に置かれると、新しいバージョン管理された構成を識別するために、コレクションのDAV:version-controlled-configurationプロパティが設定されます。このバージョン管理された構成は、チェックアウトしてからチェックインして、そのコレクションの新しいベースラインを作成できます。

If a baseline is specified in the request body, the DAV:checked-in version of the new version-controlled configuration will be that baseline, and the collection is initialized to contain version-controlled members whose DAV:checked-in versions and relative names are determined by the specified baseline.

リクエストの本文でベースラインが指定されている場合、新しいバージョン管理された構成のDAV:checked-inバージョンはそのベースラインになり、コレクションは、DAV:checked-inバージョンと相対名を持つバージョン管理されたメンバーを含むように初期化されます指定されたベースラインによって決定されます。

If no baseline is specified, a new baseline history is created containing a baseline that captures the state of the version-controlled members of the collection, and the DAV:checked-in version of the version-controlled configuration will be that baseline.

ベースラインが指定されていない場合、コレクションのバージョン管理されたメンバーの状態をキャプチャするベースラインを含む新しいベースライン履歴が作成され、バージョン管理された構成のDAV:checked-inバージョンがそのベースラインになります。

Marshalling:

マーシャリング:

If a request body is included, it MUST be a DAV:baseline-control XML element.

リクエストの本文が含まれている場合、DAV:baseline-control XML要素である必要があります。

<!ELEMENT baseline-control ANY> ANY value: A sequence of elements with at most one DAV:baseline element.

<!ELEMENT baseline-control ANY> ANY value:最大で1つのDAV:baseline要素を持つ要素のシーケンス。

      <!ELEMENT baseline (href)>
        

If a response body for a successful request is included, it MUST be a DAV:baseline-control-response XML element.

成功したリクエストのレスポンスボディが含まれている場合、それはDAV:baseline-control-response XML要素である必要があります。

      <!ELEMENT baseline-control-response ANY>
        

The response MUST include a Cache-Control:no-cache header.

応答には、Cache-Control:no-cacheヘッダーを含める必要があります。

Preconditions:

前提条件:

(DAV:version-controlled-configuration-must-not-exist): The DAV:version-controlled-configuration property of the collection identified by the request-URL MUST not exist.

(DAV:バージョン制御の構成は必須ではない):リクエストURLで識別されるコレクションのDAV:バージョン制御の構成プロパティは存在してはなりません。

(DAV:must-be-baseline): The DAV:href of the DAV:baseline element in the request body MUST identify a baseline.

(DAV:must-be-baseline):リクエスト本文のDAV:baseline要素のDAV:hrefは、ベースラインを識別しなければなりません(MUST)。

(DAV:must-have-no-version-controlled-members): If a DAV:baseline element is specified in the request body, the collection identified by the request-URL MUST have no version-controlled members.

(DAV:must-have-no-version-controlled-members):リクエストの本文でDAV:baseline要素が指定されている場合、request-URLで識別されるコレクションには、バージョン管理されたメンバーが含まれていてはなりません(MUST)。

(DAV:one-baseline-controlled-collection-per-history-per-workspace): If the request-URL identifies a workspace or a member of a workspace, and if a baseline is specified in a DAV:baseline element in the request body, then there MUST NOT be another collection in that workspace whose DAV:version-controlled-configuration property identifies a version-controlled configuration for the baseline history of that baseline.

(DAV:one-baseline-controlled-collection-per-history-per-workspace):リクエストURLがワークスペースまたはワークスペースのメンバーを識別し、ベースラインがリクエストのDAV:baseline要素で指定されている場合本文の場合、そのワークスペースには別のコレクションがあってはなりません。そのDAV:version-統制構成プロパティは、そのベースラインのベースライン履歴のバージョン統制構成を識別します。

Postconditions:

事後条件:

(DAV:create-version-controlled-configuration): A new version-controlled configuration is created, whose DAV:baseline-controlled-collection property identifies the collection.

(DAV:create-version-制御された構成):新しいバージョン管理された構成が作成されます。DAV:baseline-制御されたコレクションのプロパティはコレクションを識別します。

(DAV:reference-version-controlled-configuration): The DAV:version-controlled-configuration of the collection identifies the new version-controlled configuration.

(DAV:参照バージョン制御された構成):コレクションのDAV:バージョン制御された構成は、新しいバージョン制御された構成を識別します。

(DAV:select-existing-baseline): If the request body specifies a baseline, the DAV:checked-in property of the new version-controlled configuration MUST have been set to identify this baseline. A version-controlled member of the collection will be created for each version in the baseline, where the version-controlled member will have the content and dead properties of that version, and will have the same name relative to the collection as the corresponding version-controlled resource had when the baseline was created. Any nested collections that are needed to provide the appropriate name for a version-controlled member will be created.

(DAV:select-existing-baseline):リクエストの本文でベースラインが指定されている場合、新しいバージョン管理構成のDAV:checked-inプロパティがこのベースラインを識別するように設定されている必要があります。コレクションのバージョン管理されたメンバーは、ベースラインのバージョンごとに作成されます。バージョン管理されたメンバーは、そのバージョンのコンテンツと無効なプロパティを持ち、コレクションに関連して、対応するバージョンと同じ名前を持ちます。ベースラインが作成されたとき、制御されたリソースが持っていました。バージョン管理されたメンバーに適切な名前を提供するために必要なネストされたコレクションが作成されます。

(DAV:create-new-baseline): If no baseline is specified in the request body, the request MUST have created a new baseline history at a server-defined URL, and MUST have created a new baseline in that baseline history. The DAV:baseline-collection of the new baseline MUST identify a collection whose members have the same relative name and DAV:checked-in version as the version-controlled members of the request collection. The DAV:checked-in property of the new version-controlled configuration MUST identify the new baseline.

(DAV:create-new-baseline):リクエスト本文でベースラインが指定されていない場合、リクエストはサーバー定義のURLに新しいベースライン履歴を作成し、そのベースライン履歴に新しいベースラインを作成している必要があります。新しいベースラインのDAV:baseline-collectionは、リクエストコレクションのバージョン管理されたメンバーと同じ相対名とDAV:checked-inバージョンを持つメンバーを持つコレクションを識別しなければなりません(MUST)。新しいバージョン管理された構成のDAV:checked-inプロパティは、新しいベースラインを識別する必要があります。

12.6.1 Example - BASELINE-CONTROL
12.6.1 例-BASELINE-CONTROL

>>REQUEST

>>リクエスト

     BASELINE-CONTROL /src HTTP/1.1
     Host: www.webdav.org
     Content-Type: text/xml; charset="utf-8"
     Content-Length: xxxx
        
     <?xml version="1.0" encoding="utf-8" ?>
     <D:baseline-control xmlns:D="DAV:">
       <D:href>http://www.webdav.org/repo/blh/13/ver/8</D:href>
     </D:baseline-control>
        

>>RESPONSE

>>応答

HTTP/1.1 200 OK Cache-Control: no-cache Content-Length: 0

HTTP / 1.1 200 OK Cache-Control:no-cache Content-Length:0

In this example, the collection /src is placed under baseline control, and is populated with members from an existing baseline. A new version-controlled configuration (/repo/vcc/128) is created and associated with /src, and /src is initialized with version-controlled members whose DAV:checked-in versions are those selected by the DAV:baseline-collection (/repo/bc/15) of the specified baseline (/repo/blh/13/ver/8). The following diagram illustrates the resulting state on the server.

この例では、コレクション/ srcはベースライン制御下に置かれ、既存のベースラインのメンバーが入力されています。新しいバージョン管理構成(/ repo / vcc / 128)が作成され、/ srcに関連付けられます。/srcは、DAV:checked-inバージョンがDAV:baseline-collection( / repo / bc / 15)指定されたベースライン(/ repo / blh / 13 / ver / 8)。次の図は、サーバーの結果の状態を示しています。

         +-------------------------------------+
         |Baseline-Controlled Collection       |<------+
         |/src                                 |       |
         |-------------------------------------|       |
         |DAV:version-controlled-configuration +---+   |
         +-------------------------------------+   |   |
                                                   |   |
                                                   |   |
         +-------------------------------------+   |   |
         |Version-Controlled Configuration     |<--+   |
         |/repo/vcc/128                        |       |
         |-------------------------------------|       |
         |DAV:baseline-controlled-collection   +-------+
         |-------------------------------------|
         |DAV:checked-in                       +-------+
         +-------------------------------------+       |
         |DAV:version-history                  +---+   |
         +-------------------------------------+   |   |
                                                   |   |
                                                   |   |
         +------------------------+                |   |
         |Baseline History        |<---------------+   |
         |/repo/blh/13            |                    |
         |------------------------+                    |
         |DAV:version-set         +----------------+   |
         +------------------------+    |   |   |   |   |
                                       v   |   v   v   |
                                           |           |
         +------------------------+        |           |
         |Baseline                |<-------+-----------+
         |/repo/blh/13/ver/8      |
         |------------------------+     +--------------+
         |DAV:baseline-collection +---->|Collection    |
         +------------------------+     |/repo/bc/15   |
                                        +--------------+
        

In order to create new baselines of /src, /repo/vcc/128 can be checked out, new versions can be created or selected by the version-controlled members of /src, and then /repo/vcc/128 can be checked in to capture the current state of those version-controlled members.

/ srcの新しいベースラインを作成するには、/ repo / vcc / 128をチェックアウトし、/ srcのバージョン管理されたメンバーが新しいバージョンを作成または選択して、/ repo / vcc / 128をチェックインします。これらのバージョン管理されたメンバーの現在の状態をキャプチャします。

12.7 DAV:compare-baseline Report
12.7 DAV:比較ベースラインレポート

A DAV:compare-baseline report contains the differences between the baseline identified by the request-URL (the "request baseline") and the baseline specified in the request body (the "compare baseline").

DAV:compare-baselineレポートには、要求URLによって識別されたベースライン(「要求ベースライン」)と要求本文で指定されたベースライン(「比較ベースライン」)の違いが含まれています。

Marshalling:

マーシャリング:

The request body MUST be a DAV:compare-baseline XML element.

リクエストの本文はDAV:compare-baseline XML要素である必要があります。

      <!ELEMENT compare-baseline (href)>
        

The response body for a successful request MUST be a DAV:compare-baseline-report XML element.

成功した要求の応答本文は、DAV:compare-baseline-report XML要素である必要があります。

      <!ELEMENT compare-baseline-report
       (added-version | deleted-version | changed-version)*>
        

A DAV:added-version element identifies a version that is the DAV:checked-in version of a member of the DAV:baseline-collection of the compare baseline, but no version in the version history of that version is the DAV:checked-in version of a member of the DAV:baseline-collection of the request baseline.

DAV:added-version要素は、比較ベースラインのDAV:baseline-collectionのメンバーのDAV:checked-inバージョンであるバージョンを識別しますが、そのバージョンのバージョン履歴にDAV:checked-のバージョンはありませんリクエストベースラインのDAV:baseline-collectionのメンバーのバージョン。

      <!ELEMENT added-version (href)>
        

A DAV:deleted-version element identifies a version that is the DAV:checked-in version of a member of the DAV:baseline-collection of the request baseline, but no version in the version history of that version is the DAV:checked-in version of a member of the DAV:baseline-collection of the compare baseline.

DAV:deleted-version要素は、要求ベースラインのDAV:baseline-collectionのメンバーのDAV:checked-inバージョンであるバージョンを識別しますが、そのバージョンのバージョン履歴にDAV:checked-のバージョンはありません比較ベースラインのDAV:baseline-collectionのメンバーのバージョン。

      <!ELEMENT deleted-version (href)>
        

A DAV:changed-version element identifies two different versions from the same version history that are the DAV:checked-in version of the DAV:baseline-collection of the request baseline and the compare baseline, respectively.

DAV:changed-version要素は、同じバージョン履歴から、リクエストベースラインと比較ベースラインのDAV:baseline-collectionのDAV:チェックインバージョンである2つの異なるバージョンをそれぞれ識別します。

      <!ELEMENT changed-version (href, href)>
        

Preconditions:

前提条件:

(DAV:must-be-baseline): The DAV:href in the request body MUST identify a baseline.

(DAV:must-be-baseline):リクエスト本文のDAV:hrefはベースラインを識別しなければなりません(MUST)。

(DAV:baselines-from-same-history): A server MAY require that the baselines being compared be from the same baseline history.

(DAV:baselines-from-same-history):サーバーは、比較されるベースラインが同じベースライン履歴からのものである必要がある場合があります。

12.7.1 Example - DAV:compare-baseline Report
12.7.1 例-DAV:compare-baselineレポート

>>REQUEST

>>リクエスト

     REPORT /bl-his/12/bl/14 HTTP/1.1
     Host: repo.webdav.com
     Content-Type: text/xml; charset="utf-8"
     Content-Length: xxxx
        
     <?xml version="1.0" encoding="utf-8" ?>
     <D:compare-baseline xmlns:D="DAV:">
       <D:href>http://repo.webdav.org/bl-his/12/bl/15</D:href>
     </D:compare-baseline>
        

>>RESPONSE

>>応答

     HTTP/1.1 200 OK
     Content-Type: text/xml; charset="utf-8"
     Content-Length: xxxx
        
     <?xml version="1.0" encoding="utf-8" ?>
     <D:compare-baseline-report xmlns:D="DAV:">
       <D:added-version>
         <D:href>http://repo.webdav.org/his/23/ver/8</D:href>
       </D:added-version>
       <D:changed-version>
         <D:href>http://repo.webdav.org/his/29/ver/12</D:href>
         <D:href>http://repo.webdav.org/his/29/ver/19</D:href>
       </D:changed-version>
       <D:deleted-version>
         <D:href>http://repo.webdav.org/his/12/ver/4</D:href>
       </D:deleted-version>
     </D:compare-baseline-report>
        

In this example, the differences between baseline 14 and baseline 15 of http://repo.webdav.org/bl-his/12 are identified.

この例では、http://repo.webdav.org/bl-his/12のベースライン14とベースライン15の違いが特定されています。

12.8 Additional OPTIONS Semantics
12.8 追加オプションセマンティクス

If a server supports the baseline feature, it MUST include "baseline" as a field in the DAV response header from an OPTIONS request on any resource that supports any versioning properties, reports, or methods.

サーバーがベースライン機能をサポートする場合、バージョン管理のプロパティ、レポート、またはメソッドをサポートするリソースのOPTIONSリクエストからのDAV応答ヘッダーのフィールドとして「ベースライン」を含める必要があります。

12.9 Additional MKCOL Semantics
12.9 追加のMKCOLセマンティクス

Additional Postconditions:

追加の事後条件:

If a server automatically puts a newly created collection under baseline control, all postconditions for BASELINE-CONTROL apply to the MKCOL.

サーバーが新しく作成されたコレクションを自動的にベースライン制御下に置く場合、BASELINE-CONTROLのすべての事後条件がMKCOLに適用されます。

12.10 Additional COPY Semantics
12.10 追加のCOPYセマンティクス

Additional Postconditions:

追加の事後条件:

If the request creates a new collection at the Destination, and a server automatically puts a newly created collection under baseline control, all postconditions for BASELINE-CONTROL apply to the COPY.

リクエストが宛先で新しいコレクションを作成し、サーバーが新しく作成されたコレクションを自動的にベースライン制御下に置く場合、BASELINE-CONTROLのすべての事後条件がCOPYに適用されます。

12.11 Additional CHECKOUT Semantics
12.11 追加のCHECKOUTセマンティクス

Additional Preconditions:

追加の前提条件:

(DAV:must-not-update-baseline-collection): If the request-URL identifies a member of the configuration rooted at the DAV:baseline-collection of a baseline, the request MUST fail.

(DAV:must-not-update-baseline-collection):request-URLがベースラインのDAV:baseline-collectionをルートとする構成のメンバーを識別する場合、要求は失敗する必要があります。

12.12 Additional CHECKIN Semantics
12.12 追加のCHECKINセマンティクス

Additional Preconditions:

追加の前提条件:

(DAV:no-checked-out-baseline-controlled-collection-members): If the request-URL identifies a version-controlled configuration, all version-controlled members of the DAV:baseline-controlled-collection of the version-controlled configuration MUST be checked-in.

(DAV:no-checked-out-baseline-controlled-collection-members):リクエストURLがバージョン管理された構成を識別する場合、DAVのすべてのバージョン管理されたメンバー:バージョン管理された構成のベースライン管理されたコレクションチェックインする必要があります。

(DAV:one-version-per-history-per-baseline): If the request-URL identifies a version-controlled configuration, the set of versions selected by that version-controlled configuration MUST contain at most one version from any version history, where a version is selected by a version-controlled configuration if the version is identified by the DAV:checked-in property of any member of the configuration rooted at the DAV:baseline-controlled collection of that version-controlled configuration, or is identified by the DAV:checked-in property of any member of the configuration rooted at the DAV:baseline-collection of any subbaseline of that version-controlled configuration.

(DAV:one-version-per-history-per-baseline):request-URLがバージョン管理された構成を識別する場合、そのバージョン管理された構成によって選択されたバージョンのセットには、バージョン履歴から最大1つのバージョンが含まれている必要があります。ここで、バージョンは、バージョン制御された構成のDAV:baseline-統制コレクションをルートとする構成のメンバーのDAV:checked-inプロパティによってバージョンが識別されているか、またはバージョン管理された構成のサブベースラインのDAV:baseline-collectionをルートとする構成のメンバーのDAV:checked-inプロパティ。

(DAV:cannot-modify-version-controlled-configuration): If the request-URL identifies a version-controlled member of a baseline-controlled collection whose version-controlled configuration is checked-in, the request MUST fail unless the DAV:auto-version property of the version-controlled configuration will automatically check out that version-controlled configuration when it is modified.

(DAV:cannot-modify-version-controlled-configuration):request-URLが、バージョン管理された構成がチェックインされているベースライン管理されたコレクションのバージョン管理されたメンバーを識別する場合、DAV:autoでない限り、要求は失敗する必要があります。バージョン管理された構成の-versionプロパティは、変更時にバージョン管理された構成を自動的にチェックアウトします。

Additional Postconditions:

追加の事後条件:

(DAV:create-baseline-collection): If the request-URL identifies a version-controlled configuration, the DAV:baseline-collection of the new baseline identifies a collection whose members have the same relative name and DAV:checked-in version as the members of the DAV:baseline-controlled-collection of the version-controlled configuration at the time of the request.

(DAV:create-baseline-collection):request-URLがバージョン管理された構成を識別する場合、新しいベースラインのDAV:baseline-collectionは、メンバーの相対名とDAV:checked-inバージョンが同じであるコレクションを識別します。要求時のバージョン管理された構成のDAV:baseline-統制コレクションのメンバー。

(DAV:modify-configuration): If the request-URL identifies a version-controlled member of a baseline-controlled collection, this is a modification to the version-controlled configuration of that baseline-controlled collection, and standard auto-versioning semantics apply.

(DAV:modify-configuration):リクエストURLがベースライン制御コレクションのバージョン制御メンバーを識別する場合、これはそのベースライン制御コレクションのバージョン制御構成に対する変更であり、標準の自動バージョン管理セマンティクスが適用されます。

12.13 Additional UPDATE Semantics
12.13 追加のUPDATEセマンティクス

Additional Preconditions:

追加の前提条件:

(DAV:baseline-controlled-members-must-be-checked-in): If the request-URL identifies a version-controlled configuration, then all version-controlled members of the DAV:baseline-controlled-collection of that version-controlled configuration MUST be checked-in.

(DAV:baseline-controlled-members-must-be-checked-in):request-URLがバージョン管理された構成を識別する場合、DAVのすべてのバージョン管理されたメンバー:そのバージョン管理されたベースライン管理されたコレクション構成をチェックインする必要があります。

(DAV:must-not-update-baseline-collection): If the request-URL identifies a member of the configuration rooted at the DAV:baseline-collection of a baseline, the request MUST fail.

(DAV:must-not-update-baseline-collection):request-URLがベースラインのDAV:baseline-collectionをルートとする構成のメンバーを識別する場合、要求は失敗する必要があります。

(DAV:cannot-modify-version-controlled-configuration): If the request updates the DAV:checked-in property of any version-controlled member of a baseline-controlled collection whose version-controlled configuration is checked-in, the request MUST fail unless the DAV:auto-version property of the version-controlled configuration will automatically check out that version-controlled configuration when it is modified.

(DAV:cannot-modify-version-controlled-configuration):バージョン管理された構成がチェックインされているベースライン管理されたコレクションのバージョン管理されたメンバーのDAV:checked-inプロパティをリクエストが更新する場合、リクエストはバージョン管理された構成のDAV:auto-versionプロパティが変更されたときにバージョン管理された構成を自動的にチェックアウトしない限り、失敗します。

Additional Postconditions:

追加の事後条件:

(DAV:set-baseline-controlled-collection-members): If the request updated the DAV:checked-in property of a version-controlled configuration, then the version-controlled members of the DAV:baseline-controlled-collection of that version-controlled configuration MUST have been updated so that they have the same relative name, content, and dead properties as the members of the DAV:baseline-collection of the baseline. In particular:

(DAV:set-baseline-control-collection-members):要求によってバージョン管理された構成のDAV:checked-inプロパティが更新された場合、そのバージョンのDAV:baseline-統制コレクションのバージョン管理されたメンバー-制御された構成は、ベースラインのDAV:baseline-collectionのメンバーと同じ相対名、コンテンツ、およびデッドプロパティを持つように更新されている必要があります。特に:

- A version-controlled member for a given version history MUST have been deleted if there is no version-controlled member for that version history in the DAV:baseline-collection of the baseline. - A version-controlled member for a given version history MUST have been renamed if its name relative to the baseline-controlled collection is different from that of the version-controlled member for that version history in the DAV:baseline-collection of the baseline. - A new version-controlled member MUST have been created for each member of the DAV:baseline-collection of the baseline for which there is no corresponding version-controlled member in the baseline-controlled collection. - An UPDATE request MUST have been applied to each version-controlled member for a given version history whose DAV:checked-in version is not the same as that of the version-controlled member for that version history in the DAV:baseline-collection of the baseline.

- ベースラインのDAV:baseline-collectionにそのバージョン履歴のバージョン管理されたメンバーがない場合、特定のバージョン履歴のバージョン管理されたメンバーは削除されている必要があります。 -特定のバージョン履歴のバージョン管理されたメンバーは、ベースライン管理されたコレクションに関連する名前が、ベースラインのDAV:baseline-collectionにあるそのバージョン履歴のバージョン管理されたメンバーの名前と異なる場合、名前を変更する必要があります。 -ベースライン制御コレクションに対応するバージョン管理メンバーが存在しないベースラインのDAV:baseline-collectionの各メンバーに対して、新しいバージョン管理メンバーを作成する必要があります。 -DAV:checked-inバージョンがDAV:baseline-collectionのDAV:baseline-collection内のそのバージョン履歴のバージョン管理されたメンバーのそれと同じではない、指定されたバージョン履歴の各バージョン管理されたメンバーにUPDATEリクエストを適用する必要がありますベースライン。

(DAV:update-subbaselines): If the request updated a version-controlled configuration whose DAV:baseline-controlled-collection contains a baseline-controlled member for one of the subbaselines of the request baseline, then the DAV:checked-in property of the version-controlled configuration of that baseline-controlled member MUST have been updated to be that subbaseline. If the request updated a version-controlled configuration whose DAV:baseline-controlled-collection is a member of a workspace that contains a baseline-controlled member for one of the subbaselines of the request baseline, then the DAV:checked-in property of the version-controlled configuration of that baseline-controlled member MUST have been updated to be that subbaseline.

(DAV:update-subbaselines):要求がバージョン管理された構成を更新した場合、DAV:baseline-統制コレクションに、要求ベースラインのサブベースラインの1つのベースライン管理メンバーが含まれている場合、DAV:checked-inプロパティそのベースライン制御メンバーのバージョン制御構成は、そのサブベースラインになるように更新されている必要があります。要求がバージョン管理された構成を更新した場合、そのDAV:baseline-統制コレクションが、要求ベースラインのサブベースラインの1つに対するベースライン管理メンバーを含むワークスペースのメンバーである場合、DAV:checked-inプロパティそのベースライン制御メンバーのバージョン制御構成は、そのサブベースラインになるように更新されている必要があります。

(DAV:modify-configuration): If the request updated the DAV:checked-in property of any version-controlled member of a baseline-controlled collection, and if this DAV:checked-in property differs from the DAV:checked-in property of the corresponding version-controlled member of the DAV:baseline-collection of the DAV:checked-in baseline of the DAV:version-controlled-configuration of the baseline-controlled collection, then this is a modification to that version-controlled configuration, and standard auto-versioning semantics apply.

(DAV:modify-configuration):リクエストがベースライン制御コレクションのバージョン管理されたメンバーのDAV:checked-inプロパティを更新した場合、およびこのDAV:checked-inプロパティがDAV:checked-inプロパティと異なる場合DAV:baseline-collectionの対応するDAV:baseline-collectionの対応するバージョン管理されたメンバーのDAV:checked-inベースラインのベースライン制御されたコレクションのバージョン管理された構成の場合、これはそのバージョン管理された構成に対する変更です。標準の自動バージョン管理のセマンティクスが適用されます。

12.14 Additional MERGE Semantics
12.14 追加のMERGEセマンティクス

If the merge source is a baseline, the merge target is a version-controlled configuration for the baseline history of that baseline, where the baseline-controlled collection of that version-controlled configuration is a member of the collection identified by the request-URL.

マージソースがベースラインの場合、マージターゲットは、そのベースラインのベースライン履歴のバージョン管理された構成であり、そのバージョン管理された構成のベースライン管理されたコレクションは、request-URLによって識別されるコレクションのメンバーです。

Additional Preconditions:

追加の前提条件:

(DAV:must-not-update-baseline-collection): Same semantics as UPDATE (see Section 12.13).

(DAV:must-not-update-baseline-collection):UPDATEと同じセマンティクス(セクション12.13を参照)。

(DAV:cannot-modify-version-controlled-configuration): Same semantics as UPDATE (see Section 12.13).

(DAV:cannot-modify-version-controlled-configuration):UPDATEと同じセマンティクス(セクション12.13を参照)。

Additional Postconditions:

追加の事後条件:

(DAV:merge-baseline): If the merge target is a version-controlled configuration whose DAV:checked-out baseline is not a descendant of the merge baseline, then the merge baseline MUST have been added to the DAV:auto-merge-set of a version-controlled configuration. The DAV:checked-in version of each member of the DAV:baseline-collection of that baseline MUST have been merged into the DAV:baseline-controlled-collection of that version-controlled configuration.

(DAV:merge-baseline):マージターゲットがバージョン管理された構成であり、そのDAV:checked-outベースラインがマージベースラインの子孫ではない場合、マージベースラインをDAV:auto-merge-に追加する必要がありますバージョン管理された構成のセット。そのベースラインのDAV:baseline-collectionの各メンバーのDAV:checked-inバージョンは、そのバージョン管理構成のDAV:baseline-control-collectionにマージされている必要があります。

(DAV:merge-subbaselines): If the merge target is a version-controlled configuration whose DAV:baseline-controlled-collection contains a baseline-controlled member for one of the subbaselines of the merge baseline, then that subbaseline MUST have been merged into the version-controlled configuration of that baseline-controlled member. If the merge target is a version-controlled configuration whose DAV:baseline-controlled-collection is a member of a workspace that contains a baseline-controlled member for one of the subbaselines of the merge baseline, then that subbaseline MUST have been merged into the version-controlled configuration of that baseline-controlled member.

(DAV:merge-subbaselines):マージターゲットがバージョン管理された構成で、DAV:baseline-control-collectionにマージベースラインのサブベースラインの1つのベースライン制御メンバーが含まれている場合、そのサブベースラインはそのベースライン制御メンバーのバージョン制御構成。マージターゲットがバージョン管理された構成であり、そのDAV:baseline-統制コレクションが、マージベースラインのサブベースラインの1つのベースライン管理メンバーを含むワークスペースのメンバーである場合、そのサブベースラインは、そのベースライン制御メンバーのバージョン制御構成。

(DAV:set-baseline-controlled-collection-members): Same semantics as UPDATE (see Section 12.13).

(DAV:セットベースライン制御コレクションメンバー):UPDATEと同じセマンティクス(セクション12.13を参照)。

(DAV:modify-configuration): Same semantics as UPDATE (see Section 12.13).

(DAV:modify-configuration):UPDATEと同じセマンティクス(セクション12.13を参照)。

13 Activity Feature

13アクティビティ機能

An activity is a resource that selects a set of versions that are on a single "line of descent", where a line of descent is a sequence of versions connected by successor relationships. If an activity selects versions from multiple version histories, the versions selected in each version history must be on a single line of descent.

アクティビティとは、単一の「降下ライン」にあるバージョンのセットを選択するリソースです。降下ラインは、後続の関係によって接続されたバージョンのシーケンスです。アクティビティが複数のバージョン履歴からバージョンを選択する場合、各バージョン履歴で選択されたバージョンは、1行の系統にある必要があります。

A common problem that motivates the use of activities is that it is often desirable to perform several different logical changes in a single workspace, and then selectively merge a subset of those logical changes to other workspaces. An activity can be used to represent a single logical change, where an activity tracks all the resources that were modified to effect that single logical change. When a version-controlled resource is checked out, the user specifies which activity should be associated with a new version that will be created when that version-controlled resource is checked in. It is then possible to select a particular logical change for merging into another workspace, by specifying the appropriate activity in a MERGE request.

アクティビティの使用を動機付ける一般的な問題は、多くの場合、単一のワークスペースでいくつかの異なる論理変更を実行してから、それらの論理変更のサブセットを他のワークスペースに選択的にマージすることが望ましいことです。アクティビティを使用して単一の論理変更を表すことができます。アクティビティは、その単一の論理変更に影響を与えるように変更されたすべてのリソースを追跡します。バージョン管理されたリソースがチェックアウトされると、ユーザーは、そのバージョン管理されたリソースがチェックインされたときに作成される新しいバージョンに関連付けるアクティビティを指定します。次に、特定の論理変更を選択して別の論理変更にマージすることができます。 MERGEリクエストで適切なアクティビティを指定することにより、ワークスペース。

Another common problem is that although a version-controlled resource may need to have multiple lines of descent, all work done by members of a given team must be on a single line of descent (to avoid merging between team members). An activity resource provides the mechanism for addressing this problem. When a version-controlled resource is checked out, a client can request that an existing activity be used or that a new activity be created. Activity semantics then ensure that all versions in a given version history that are associated with an activity are on a single line of descent. If all members of a team share a common activity (or sub-activities of a common activity), then all changes made by members of that team will be on a single line of descent.

もう1つの一般的な問題は、バージョン管理されたリソースには複数の系統が必要な場合がありますが、特定のチームのメンバーが行うすべての作業は単一の系統でなければならないことです(チームメンバー間のマージを回避するため)。アクティビティリソースは、この問題に対処するためのメカニズムを提供します。バージョン管理されたリソースがチェックアウトされると、クライアントは、既存のアクティビティを使用すること、または新しいアクティビティを作成することを要求できます。次に、アクティビティのセマンティクスにより、アクティビティに関連付けられている特定のバージョン履歴のすべてのバージョンが1行の系統にあることを確認します。チームのすべてのメンバーが共通のアクティビティー(または共通のアクティビティーのサブアクティビティー)を共有している場合、そのチームのメンバーが行ったすべての変更は単一の系統になります。

The following diagram illustrates activities. Version V5 is the latest version of foo.html selected by activity Act-2, and version V8 is the latest version of bar.html selected by activity Act-2.

次の図は、アクティビティを示しています。バージョンV5は、アクティビティAct-2によって選択されたfoo.htmlの最新バージョンであり、バージョンV8は、アクティビティAct-2によって選択されたbar.htmlの最新バージョンです。

foo.html History bar.html History

foo.html History bar.html History

                        +---+                  +---+
                   Act-1|   |V1           Act-1|   |V6
                        +---+                  +---+
                          |                      |
                          |                      |
                        +---+                  +---+
                   Act-1|   |V2           Act-2|   |V7
                        +---+                  +---+
                       /     \                   |
                      /       \                  |
                 +---+         +---+           +---+
            Act-1|   |V3  Act-2|   |V4    Act-2|   |V8
                 +---+         +---+           +---+
                                 |               |
                                 |               |
                               +---+           +---+
                          Act-2|   |V5    Act-3|   |V9
                               +---+           +---+
        

Activities appear under a variety of names in existing versioning systems. When an activity is used to capture a logical change, it is commonly called a "change set". When an activity is used to capture a line of descent, it is commonly called a "branch". When a system supports both branches and change sets, it is often useful to require that a particular change set occur on a particular branch. This relationship can be captured by making the change set activity be a "subactivity" of the branch activity.

アクティビティは、既存のバージョン管理システムではさまざまな名前で表示されます。アクティビティを使用して論理的な変更をキャプチャする場合、そのアクティビティは一般に「変更セット」と呼ばれます。アクティビティを使用して家系を捕捉する場合、そのアクティビティは一般に「ブランチ」と呼ばれます。システムがブランチと変更セットの両方をサポートしている場合、特定の変更セットが特定のブランチで発生することを要求すると便利なことがよくあります。この関係は、変更セットアクティビティをブランチアクティビティの「サブアクティビティ」にすることで取得できます。

13.1 Activity Properties
13.1 アクティビティプロパティ

The DAV:resourcetype of an activity MUST be DAV:activity.

アクティビティのDAV:resourcetypeはDAV:activityである必要があります。

The activity feature introduces the following REQUIRED properties for an activity.

アクティビティ機能は、アクティビティに次の必須プロパティを導入します。

13.1.1 DAV:activity-version-set (computed)
13.1.1 DAV:activity-version-set(計算済み)

This property identifies each version whose DAV:activity-set property identifies this activity. Multiple versions of a single version history can be selected by an activity's DAV:activity-version-set property, but all DAV:activity-version-set versions from a given version history must be on a single line of descent from the root version of that version history.

このプロパティは、DAV:activity-setプロパティがこのアクティビティを識別する各バージョンを識別します。アクティビティのDAV:activity-version-setプロパティで単一のバージョン履歴の複数のバージョンを選択できますが、特定のバージョン履歴のすべてのDAV:activity-version-setバージョンは、ルートバージョンの1行に属している必要がありますそのバージョン履歴。

   <!ELEMENT activity-version-set (href*)>
        
13.1.2 DAV:activity-checkout-set (computed)
13.1.2 DAV:activity-checkout-set(計算済み)

This property identifies each checked-out resource whose DAV:activity-set identifies this activity.

このプロパティは、DAV:activity-setがこのアクティビティを識別する、チェックアウトされた各リソースを識別します。

   <!ELEMENT activity-checkout-set (href*)>
        
13.1.3 DAV:subactivity-set
13.1.3 DAV:サブアクティビティセット

This property identifies each activity that forms a part of the logical change being captured by this activity. An activity behaves as if its DAV:activity-version-set is extended by the DAV:activity-version-set of each activity identified in the DAV:subactivity-set. In particular, the versions in this extended set MUST be on a single line of descent, and when an activity selects a version for merging, the latest version in this extended set is the one that will be merged.

このプロパティは、このアクティビティによってキャプチャされている論理変更の一部を形成する各アクティビティを識別します。アクティビティは、そのDAV:activity-version-setが、DAV:subactivity-setで識別された各アクティビティのDAV:activity-version-setによって拡張されているかのように動作します。特に、この拡張セットのバージョンは1行の降下にある必要があり、アクティビティがマージするバージョンを選択すると、この拡張セットの最新バージョンがマージされるバージョンになります。

A server MAY reject attempts to modify the DAV:subactivity-set of an activity.

サーバーは、アクティビティのDAV:subactivity-setを変更する試みを拒否してもよい(MAY)。

   <!ELEMENT subactivity-set (href*)>
        
13.1.4 DAV:current-workspace-set (computed)
13.1.4 DAV:current-workspace-set(計算済み)

This property identifies each workspace whose DAV:current-activity-set identifies this activity.

このプロパティは、DAV:current-activity-setがこのアクティビティを識別する各ワークスペースを識別します。

   <!ELEMENT current-workspace-set (href*)>
        
13.2 Additional Version Properties
13.2 追加のバージョンプロパティ

The activity feature introduces the following REQUIRED property for a version.

アクティビティ機能は、バージョンに次の必須プロパティを導入します。

13.2.1 DAV:activity-set
13.2.1 DAV:activity-set

This property identifies the activities that determine to which logical changes this version contributes, and on which lines of descent this version appears. A server MAY restrict the DAV:activity-set to identify a single activity. A server MAY refuse to allow the value of the DAV:activity-set property of a version to be modified.

このプロパティは、このバージョンが寄与する論理的な変更、およびこのバージョンがどの系統に出現するかを決定するアクティビティを識別します。サーバーは、DAV:activity-setを制限して、単一のアクティビティを識別してもよい(MAY)。サーバーは、バージョンのDAV:activity-setプロパティの値の変更を許可しない場合があります。

   <!ELEMENT activity-set (href*)>
        
13.3 Additional Checked-Out Resource Properties
13.3 追加のチェックアウトされたリソースプロパティ

The activity feature introduces the following REQUIRED properties for a checked-out resource.

アクティビティ機能は、チェックアウトされたリソースに次の必須プロパティを導入します。

13.3.1 DAV:unreserved
13.3.1 DAV:未予約

This property of a checked-out resource indicates whether the DAV:activity-set of another checked-out resource associated with the version history of this version-controlled resource can have an activity that is in the DAV:activity-set property of this checked-out resource.

チェックアウトされたリソースのこのプロパティは、このバージョン管理されたリソースのバージョン履歴に関連付けられた別のチェックアウトされたリソースのDAV:activity-setが、このチェックされたリソースのDAV:activity-setプロパティにあるアクティビティを持つことができるかどうかを示します-outリソース。

A result of the requirement that an activity must form a single line of descent through a given version history is that if multiple checked-out resources for a given version history are checked out unreserved into a single activity, only the first CHECKIN will succeed. Before another of these checked-out resources can be checked in, the user will first have to merge into that checked-out resource the latest version selected by that activity from that version history, and then modify the DAV:predecessor-set of that checked-out resource to identify that version.

アクティビティが特定のバージョン履歴を通じて単一の系統を形成する必要があるという要件の結果として、特定のバージョン履歴の複数のチェックアウトされたリソースが予約されずに単一のアクティビティにチェックアウトされた場合、最初のCHECKINのみが成功します。これらのチェックアウトされた別のリソースをチェックインする前に、ユーザーは最初にそのチェックアウトされたリソースに、そのバージョン履歴からそのアクティビティによって選択された最新バージョンをマージし、次にそのチェックされたDAV:predecessor-setを変更する必要があります。 -outリソースは、そのバージョンを識別します。

   <!ELEMENT unreserved (#PCDATA)>
   PCDATA value: boolean
        
13.3.2 DAV:activity-set
13.3.2 DAV:activity-set

This property of a checked-out resource determines the DAV:activity-set property of the version that results from checking in this resource.

チェックアウトされたリソースのこのプロパティは、このリソースをチェックインした結果のバージョンのDAV:activity-setプロパティを決定します。

13.4 Additional Workspace Properties
13.4 追加のワークスペースプロパティ

The activity feature introduces the following REQUIRED property for a workspace.

アクティビティ機能は、ワークスペースに次の必須プロパティを導入します。

13.4.1 DAV:current-activity-set
13.4.1 DAV:current-activity-set

This property identifies the activities that currently are being performed in this workspace. When a member of this workspace is checked out, if no activity is specified in the checkout request, the DAV:current-activity-set will be used. This allows an activity-unaware client to update a workspace in which activity tracking is required. The DAV:current-activity-set MAY be restricted to identify at most one activity.

このプロパティは、このワークスペースで現在実行されているアクティビティを識別します。このワークスペースのメンバーがチェックアウトされるときに、チェックアウト要求でアクティビティが指定されていない場合、DAV:current-activity-setが使用されます。これにより、アクティビティを認識しないクライアントは、アクティビティの追跡が必要なワークスペースを更新できます。 DAV:current-activity-setは、最大で1つのアクティビティを識別するように制限される場合があります。

   <!ELEMENT current-activity-set (href*)>
        
13.5 MKACTIVITY Method
13.5 MKACTIVITYメソッド

A MKACTIVITY request creates a new activity resource. A server MAY restrict activity creation to particular collections, but a client can determine the location of these collections from a DAV:activity-collection-set OPTIONS request.

MKACTIVITYリクエストは、新しいアクティビティリソースを作成します。サーバーはアクティビティの作成を特定のコレクションに制限できますが、クライアントはDAV:activity-collection-set OPTIONSリクエストからこれらのコレクションの場所を特定できます。

Marshalling:

マーシャリング:

If a request body is included, it MUST be a DAV:mkactivity XML element.

リクエストの本文が含まれている場合は、DAV:mkactivity XML要素である必要があります。

      <!ELEMENT mkactivity ANY>
        

If a response body for a successful request is included, it MUST be a DAV:mkactivity-response XML element.

成功した要求の応答本文が含まれている場合、それはDAV:mkactivity-response XML要素でなければなりません。

      <!ELEMENT mkactivity-response ANY>
        

The response MUST include a Cache-Control:no-cache header.

応答には、Cache-Control:no-cacheヘッダーを含める必要があります。

Preconditions:

前提条件:

(DAV:resource-must-be-null): A resource MUST NOT exist at the request-URL.

(DAV:resource-must-be-null):リソースはリクエストURLに存在してはなりません。

(DAV:activity-location-ok): The request-URL MUST identify a location where an activity can be created.

(DAV:activity-location-on):リクエストURLは、アクティビティを作成できる場所を特定する必要があります。

Postconditions:

事後条件:

(DAV:initialize-activity): A new activity exists at the request-URL. The DAV:resourcetype of the activity MUST be DAV:activity.

(DAV:initialize-activity):リクエストURLに新しいアクティビティが存在します。アクティビティのDAV:resourcetypeはDAV:activityである必要があります。

13.5.1 Example - MKACTIVITY
13.5.1 例-MKACTIVITY

>>REQUEST

>>リクエスト

     MKACTIVITY /act/test-23 HTTP/1.1
     Host: repo.webdav.org
     Content-Length: 0
        

>>RESPONSE

>>応答

HTTP/1.1 201 Created Cache-Control: no-cache

HTTP / 1.1 201作成されたCache-Control:no-cache

In this example, a new activity is created at http://repo.webdav.org/act/test-23.

この例では、新しいアクティビティがhttp://repo.webdav.org/act/test-23に作成されます。

13.6 DAV:latest-activity-version Report
13.6 DAV:latest-activity-versionレポート

The DAV:latest-activity-version report can be applied to a version history to identify the latest version that is selected from that version history by a given activity.

DAV:latest-activity-versionレポートをバージョン履歴に適用して、特定のアクティビティによってそのバージョン履歴から選択された最新バージョンを特定できます。

Marshalling:

マーシャリング:

The request body MUST be a DAV:latest-activity-version XML element.

リクエストの本文は、DAV:latest-activity-version XML要素である必要があります。

      <!ELEMENT latest-activity-version (href)>
        

The response body for a successful request MUST be a DAV:latest-activity-version-report XML element.

成功した要求の応答本文は、DAV:latest-activity-version-report XML要素である必要があります。

      <!ELEMENT latest-activity-version-report (href)>
        

The DAV:href of the response body MUST identify the version of the given version history that is a member of the DAV:activity-version-set of the given activity and has no descendant that is a member of the DAV:activity-version-set of that activity.

応答本体のDAV:hrefは、特定のアクティビティのDAV:activity-version-setのメンバーであり、DAV:activity-version-のメンバーである子孫を持たない、特定のバージョン履歴のバージョンを識別しなければなりません(MUST)。そのアクティビティのセット。

Preconditions:

前提条件:

(DAV:must-be-activity): The DAV:href in the request body MUST identify an activity.

(DAV:must-be-activity):リクエスト本文のDAV:hrefはアクティビティを識別しなければなりません(MUST)。

13.7 Additional OPTIONS Semantics
13.7 追加オプションセマンティクス

If the server supports the activity feature, it MUST include "activity" as a field in the DAV response header from an OPTIONS request on any resource that supports any versioning properties, reports, or methods.

サーバーがアクティビティ機能をサポートする場合、バージョン管理のプロパティ、レポート、またはメソッドをサポートするリソースのOPTIONSリクエストからのDAV応答ヘッダーのフィールドとして「アクティビティ」を含める必要があります。

A DAV:activity-collection-set element MAY be included in the request body to identify collections that may contain activity resources.

DAV:activity-collection-set要素は、アクティビティリソースを含む可能性のあるコレクションを識別するために、リクエスト本文に含めることができます。

Additional Marshalling:

追加のマーシャリング:

If an XML request body is included, it MUST be a DAV:options XML element.

XMLリクエストの本文が含まれている場合は、DAV:options XML要素である必要があります。

<!ELEMENT options ANY> ANY value: A sequence of elements with at most one DAV:activity-collection-set element.

<!ELEMENT options ANY> ANY value:最大で1つのDAV:activity-collection-set要素を持つ要素のシーケンス。

If an XML response body for a successful request is included, it MUST be a DAV:options-response XML element.

成功したリクエストのXMLレスポンスボディが含まれている場合、それはDAV:options-response XML要素である必要があります。

<!ELEMENT options-response ANY> ANY value: A sequence of elements with at most one DAV:activity-collection-set element.

<!ELEMENT options-response ANY> ANY値:DAV:activity-collection-set要素を1つだけ含む一連の要素。

      <!ELEMENT activity-collection-set (href*)>
        

If DAV:activity-collection-set is included in the request body, the response body for a successful request MUST contain a DAV:activity-collection-set element identifying collections that may contain activities. An identified collection MAY be the root collection of a tree of collections, all of which may contain activities. Since different servers can control different parts of the URL namespace, different resources on the same host MAY have different DAV:activity-collection-set values. The identified collections MAY be located on different hosts from the resource.

DAV:activity-collection-setがリクエスト本文に含まれている場合、成功したリクエストのレスポンス本文には、アクティビティを含む可能性のあるコレクションを識別するDAV:activity-collection-set要素が含まれている必要があります。識別されたコレクションは、コレクションのツリーのルートコレクションである場合があります。そのすべてにアクティビティが含まれる場合があります。異なるサーバーがURL名前空間の異なる部分を制御できるため、同じホスト上の異なるリソースは異なるDAV:activity-collection-set値を持つ場合があります。識別されたコレクションは、リソースとは異なるホストに配置される場合があります。

13.8 Additional DELETE Semantics
13.8 追加のDELETEセマンティクス

Additional Postconditions:

追加の事後条件:

(DAV:delete-activity-reference): If an activity is deleted, any reference to that activity in a DAV:activity-set, DAV:subactivity-set, or DAV:current-activity-set MUST be removed.

(DAV:delete-activity-reference):アクティビティが削除された場合、DAV:activity-set、DAV:subactivity-set、またはDAV:current-activity-set内のそのアクティビティへの参照を削除する必要があります。

13.9 Additional MOVE Semantics
13.9 追加のMOVEセマンティクス

Additional Postconditions:

追加の事後条件:

(DAV:update-checked-out-reference): If a checked-out resource is moved, any reference to that resource in a DAV:activity-checkout-set property MUST be updated to refer to the new location of that resource.

(DAV:update-checked-out-reference):チェックアウトされたリソースが移動された場合、DAV:activity-checkout-setプロパティでそのリソースへの参照を更新して、そのリソースの新しい場所を参照する必要があります。

(DAV:update-activity-reference): If the request-URL identifies an activity, any reference to that activity in a DAV:activity-set, DAV:subactivity-set, or DAV:current-activity-set MUST be updated to refer to the new location of that activity.

(DAV:update-activity-reference):リクエストURLがアクティビティを識別する場合、DAV:activity-set、DAV:subactivity-set、またはDAV:current-activity-set内のそのアクティビティへの参照は、以下に更新する必要があります。そのアクティビティの新しい場所を参照してください。

(DAV:update-workspace-reference): If the request-URL identifies a workspace, any reference to that workspace in a DAV:current-workspace-set property MUST be updated to refer to the new location of that workspace.

(DAV:update-workspace-reference):request-URLがワークスペースを識別する場合、DAV:current-workspace-setプロパティ内のそのワークスペースへの参照は、そのワークスペースの新しい場所を参照するように更新する必要があります。

13.10 Additional CHECKOUT Semantics
13.10 追加のCHECKOUTセマンティクス

A CHECKOUT request MAY specify the DAV:activity-set for the checked-out resource.

CHECKOUTリクエストは、チェックアウトされたリソースのDAV:activity-setを指定する場合があります。

Additional Marshalling:

追加のマーシャリング:

<!ELEMENT checkout ANY> ANY value: A sequence of elements with at most one DAV:activity-set and at most one DAV:unreserved.

<!ELEMENT checkout ANY> ANY value:最大で1つのDAV:activity-setと最大で1つのDAV:unreservedを持つ要素のシーケンス。

      <!ELEMENT activity-set (href+ | new)>
      <!ELEMENT new EMPTY>
      <!ELEMENT unreserved EMPTY>
        

Additional Preconditions:

追加の前提条件:

(DAV:one-checkout-per-activity-per-history): If there is a request activity set, unless DAV:unreserved is specified, another checkout from a version of that version history MUST NOT select an activity in that activity set.

(DAV:one-checkout-per-activity-per-history):リクエストアクティビティセットがある場合、DAV:unreservedが指定されていない限り、そのバージョン履歴のバージョンからの別のチェックアウトは、そのアクティビティセットのアクティビティを選択してはなりません。

(DAV:linear-activity): If there is a request activity set, unless DAV:unreserved is specified, the selected version MUST be a descendant of all other versions of that version history that select that activity.

(DAV:linear-activity):リクエストアクティビティセットがある場合、DAV:unreservedが指定されていない限り、選択されたバージョンは、そのアクティビティを選択するそのバージョン履歴の他のすべてのバージョンの子孫である必要があります。

Additional Postconditions:

追加の事後条件:

(DAV:initialize-activity-set): The DAV:activity-set of the checked-out resource is set as follows:

(DAV:initialize-activity-set):チェックアウトされたリソースのDAV:activity-setは次のように設定されます。

- If DAV:new is specified as the DAV:activity-set in the request body, then a new activity created by the server is used. - Otherwise, if activities are specified in the request body, then those activities are used. - Otherwise, if the version-controlled resource is a member of a workspace and the DAV:current-activity-set of the workspace is set, then those activities are used. - Otherwise, the DAV:activity-set of the DAV:checked-out version is used.

- DAV:newがリクエスト本文のDAV:activity-setとして指定されている場合、サーバーによって作成された新しいアクティビティが使用されます。 -それ以外の場合、リクエストの本文でアクティビティが指定されていれば、それらのアクティビティが使用されます。 -それ以外の場合、バージョン管理されたリソースがワークスペースのメンバーであり、ワークスペースのDAV:current-activity-setが設定されている場合、それらのアクティビティが使用されます。 -それ以外の場合、DAV:checked-outバージョンのDAV:activity-setが使用されます。

(DAV:initialize-unreserved): If DAV:unreserved was specified in the request body, then the DAV:unreserved property of the checked-out resource MUST be "true".

(DAV:initialize-unreserved):リクエストの本文でDAV:unreservedが指定されている場合、チェックアウトされたリソースのDAV:unreservedプロパティは「true」でなければなりません。

13.10.1 Example - CHECKOUT with an activity
13.10.1 例-アクティビティを伴うCHECKOUT

>>REQUEST

>>リクエスト

     CHECKOUT /ws/public/foo.html HTTP/1.1
     Host: www.webdav.org
     Content-Type: text/xml; charset="utf-8"
     Content-Length: xxxx
        
     <?xml version="1.0" encoding="utf-8" ?>
     <D:checkout xmlns:D="DAV:">
       <D:activity-set>
         <D:href>http://repo.webdav.org/act/fix-bug-23</D:href>
       </D:activity-set>
     </D:checkout>
        

>>RESPONSE

>>応答

HTTP/1.1 200 OK Cache-Control: no-cache

HTTP / 1.1 200 OK Cache-Control:no-cache

In this example, the CHECKOUT is being performed in the http://repo.webdav.org/act/fix-bug-23 activity.

この例では、http://repo.webdav.org/act/fix-bug-23アクティビティでCHECKOUTが実行されています。

13.11 Additional CHECKIN Semantics
13.11 追加のCHECKINセマンティクス

Additional Preconditions:

追加の前提条件:

(DAV:linear-activity): Any version which is in the version history of the checked-out resource and whose DAV:activity-set identifies an activity from the DAV:activity-set of the checked-out resource MUST be an ancestor of the checked-out resource.

(DAV:linear-activity):チェックアウトされたリソースのバージョン履歴にあり、DAV:activity-setがチェックアウトされたリソースのDAV:activity-setからのアクティビティを識別するすべてのバージョンは、チェックアウトされたリソース。

(DAV:atomic-activity-checkin): If the request-URL identifies an activity, the server MAY fail the request if any of the checked-out resources in the DAV:activity-checkout-set of either that activity or any subactivity of that activity cannot be checked in.

(DAV:atomic-activity-checkin):リクエストURLがアクティビティを識別する場合、サーバーは、そのアクティビティまたはサブアクティビティのいずれかのDAV:activity-checkout-set内のチェックアウトされたリソースのいずれかがそのアクティビティはチェックインできません。

Additional Postconditions:

追加の事後条件:

(DAV:initialize-activity-set): The DAV:activity-set of the new version MUST have been initialized to be the same as the DAV:activity-set of the checked-out resource.

(DAV:initialize-activity-set):新しいバージョンのDAV:activity-setは、チェックアウトされたリソースのDAV:activity-setと同じになるように初期化されている必要があります。

(DAV:activity-checkin): If the request-URL identified an activity, the server MUST have successfully applied the CHECKIN request to each checked-out resource in the DAV:activity-checkout-set of both that activity and any subactivity of that activity.

(DAV:activity-checkin):リクエストURLがアクティビティを識別した場合、サーバーは、そのアクティビティとそのサブアクティビティの両方のDAV:activity-checkout-set内の各チェックアウトリソースにCHECKINリクエストを正常に適用している必要がありますアクティビティ。

13.12 Additional MERGE Semantics
13.12 追加のMERGEセマンティクス

If the DAV:source element of the request body identifies an activity, then for each version history containing a version selected by that activity, the latest version selected by that activity is a merge source. Note that the versions selected by an activity are the versions in its DAV:activity-version-set unioned with the versions selected by the activities in its DAV:subactivity-set.

リクエスト本文のDAV:source要素がアクティビティを識別する場合、そのアクティビティによって選択されたバージョンを含むバージョン履歴ごとに、そのアクティビティによって選択された最新バージョンがマージソースになります。アクティビティによって選択されたバージョンは、DAV:subactivity-setのアクティビティによって選択されたバージョンと結合されたDAV:activity-version-setのバージョンであることに注意してください。

Additional Marshalling:

追加のマーシャリング:

      <!ELEMENT checkin-activity EMPTY>
        

Additional Postconditions:

追加の事後条件:

(DAV:checkin-activity): If DAV:checkin-activity is specified in the request body, and if the DAV:source element in the request body identifies an activity, a CHECKIN request MUST have been successfully applied to that activity before the merge sources were determined.

(DAV:checkin-activity):リクエスト本文でDAV:checkin-activityが指定されており、リクエスト本文のDAV:source要素がアクティビティを識別する場合、マージ前にそのアクティビティにCHECKINリクエストが正常に適用されている必要がありますソースが決定されました。

14 Version-Controlled-Collection Feature

14バージョン管理コレクション機能

As with any versionable resource, when a collection is put under version control, a version history resource is created to contain versions for that version-controlled collection. In order to preserve standard versioning semantics (a version of a collection should not be modifiable), a collection version only records information about the version-controlled bindings of that collection.

バージョン管理可能なリソースと同様に、コレクションがバージョン管理下に置かれると、バージョン管理リソースのバージョンを含むバージョン履歴リソースが作成されます。標準のバージョン管理セマンティクスを維持するため(コレクションのバージョンは変更可能であってはなりません)、コレクションバージョンは、そのコレクションのバージョン管理されたバインディングに関する情報のみを記録します。

In order to cleanly separate a modification to the namespace from a modification to content or dead properties, a version of a collection has no members, but instead records in its DAV:version-controlled-binding-set property the binding name and version history resource of each version-controlled internal member of that collection. If, instead, a collection version contained bindings to other versions, creating a new version of a resource would require creating a new version of all the collection versions that contain that resource, which would cause activities to become entangled. For example, suppose a "feature-12" activity created a new version of /x/y/a.html. If a collection version contained bindings to versions of its members, a new version of /x/y would have to be created to contain the new version of /x/y/a.html, and a new version of /x would have to be created to contain the new version of /x/y. Now suppose a "bugfix-47" activity created a new version of /x/z/b.html. Again, a new version of /x/z and a new version of /x would have to be created to contain the new version of /x/y/b.html. But now it is impossible to merge just "bugfix-47" into another workspace without "feature-12", because the version of /x that contains the desired version of /x/z/b.html also contains version of /x/y/a.html created for "feature-12". If, instead, a collection version just records the binding name and version history resource of each version-controlled internal member, changing the version selected by a member of that collection would not require a new version of the collection. The new version is still in the same version history so no new collection version is required, and "feature-12" and "bugfix-47" would not become entangled.

名前空間の変更をコンテンツまたはデッドプロパティの変更から明確に分離するために、コレクションのバージョンにはメンバーがありませんが、代わりにDAV:version-統制バインディングセットプロパティにバインディング名とバージョン履歴リソースを記録しますそのコレクションのバージョン管理された各内部メンバーの。代わりに、コレクションバージョンに他のバージョンへのバインディングが含まれていた場合、リソースの新しいバージョンを作成するには、そのリソースを含むすべてのコレクションバージョンの新しいバージョンを作成する必要があり、アクティビティが絡まります。たとえば、「feature-12」アクティビティが/x/y/a.htmlの新しいバージョンを作成したとします。コレクションバージョンにそのメンバーのバージョンへのバインディングが含まれていた場合、新しいバージョンの/x/y/a.htmlを含むために/ x / yの新しいバージョンを作成する必要があり、/ xの新しいバージョンは/ x / yの新しいバージョンを含むように作成されます。ここで、「bugfix-47」アクティビティが新しいバージョンの/x/z/b.htmlを作成したとします。ここでも、新しいバージョンの/ x / zと/ xの新しいバージョンを作成して、新しいバージョンの/x/y/b.htmlを含める必要があります。しかし、「bugfix-47」だけを「feature-12」なしの別のワークスペースにマージすることは不可能です。これは、目的のバージョンの/x/z/b.htmlを含む/ xのバージョンにも/ x /のバージョンが含まれているためです「feature-12」用に作成されたy / a.html。代わりに、コレクションバージョンがバージョン管理された各内部メンバーのバインディング名とバージョン履歴リソースを記録するだけの場合、そのコレクションのメンバーが選択したバージョンを変更しても、コレクションの新しいバージョンは必要ありません。新しいバージョンはまだ同じバージョン履歴にあるため、新しいコレクションバージョンは不要であり、「feature-12」と「bugfix-47」が絡まることはありません。

In the following example, there are three version histories, named VH14, VH19, and VH24, where VH14 contains versions of a collection. The version-controlled collection /x has version V2 of version history VH14 as its DAV:checked-in version. Since V2 has recorded two version controlled bindings, one with binding name "a" to version history VH19, and the other with binding name "b" to version history VH24, /x MUST have two version-controlled bindings, one named "a" to a version-controlled resource for history VH19, and the other named "b" to a version-controlled resource for history VH24. The version- controlled resource /x/a currently has V4 of VH19 as its DAV:checked-in version, while /x/b has V8 of VH24 as its DAV:checked-in version.

次の例では、VH14、VH19、およびVH24という名前の3つのバージョン履歴があり、VH14にはコレクションのバージョンが含まれています。バージョン管理されたコレクション/ xには、バージョン履歴VH14のバージョンV2がDAV:チェックインバージョンとして含まれています。 V2は2つのバージョン管理バインディングを記録しました。1つはバージョン履歴VH19へのバインディング名「a」、もう1つはバージョン履歴VH24へのバインディング名「b」です。/xには2つのバージョン管理バインディングがあり、1つは「a」という名前です。履歴VH19のバージョン管理されたリソースに、「V」という名前のもう1つは、履歴VH24のバージョン管理されたリソースに。バージョン管理されたリソース/ x / aは現在、DAV:checked-inバージョンとしてVH19のV4を持っていますが、/ x / bはDAV:checked-inバージョンとしてVH24のV8を持っています。

                                                          VH19
                                                       +---------+
                                                       | +---+   |
                                                       | |   |V4 |
                                                       | +---+   |
                                                       |   |     |
                                                       |   |     |
                                                       | +---+   |
                                                       | |   |V5 |
                                            VH14       | +---+   |
                                        +---------+    |   |     |
                                        | +---+   |    |   |     |
               a  +---+                 | |   |V1 |    | +---+   |
             ---->|   |checked-in=V4    | +---+   | a  | |   |V6 |
            /     +---+                 |   |   ------>| +---+   |
           /                            |   |  /  |    +---------+
      +---+                             | +---+   |
   /x |   |checked-in=V2                | |   |V2 |
      +---+                             | +---+   |       VH24
           \                            |   |  \  | b  +---------+
            \  b  +---+                 |   |   ------>| +---+   |
             ---->|   |checked-in=V8    | +---+   |    | |   |V7 |
                  +---+                 | |   |V3 |    | +---+   |
                                        | +---+   |    |   |     |
                                        +---------+    |   |     |
                                                       | +---+   |
                                                       | |   |V8 |
                                                       | +---+   |
                                                       |   |     |
                                                       |   |     |
                                                       | +---+   |
                                                       | |   |V9 |
                                                       | +---+   |
                                                       +---------+
        

For any request (e.g., DELETE, MOVE, COPY) that modifies a version-controlled binding of a checked-in version-controlled collection, the request MUST fail unless the version-controlled collection has a DAV:auto-version property that will automatically check out the version-controlled collection when it is modified.

チェックインされたバージョン管理されたコレクションのバージョン管理されたバインディングを変更する要求(DELETE、MOVE、COPYなど)の場合、バージョン管理されたコレクションに自動的に実行されるDAV:auto-versionプロパティがない限り、要求は失敗する必要があります。変更されたときにバージョン管理されたコレクションをチェックアウトします。

Although a collection version only records the version-controlled bindings of a collection, a version-controlled collection MAY contain both version-controlled and non-version-controlled bindings. Non- version-controlled bindings are not under version control, and therefore can be added or deleted without checking out the version-controlled collection.

コレクションバージョンは、コレクションのバージョン管理されたバインディングのみを記録しますが、バージョン管理されたコレクションには、バージョン管理されたバインディングとバージョン管理されていないバインディングの両方が含まれる場合があります。バージョン管理されていないバインディングはバージョン管理されていないため、バージョン管理されたコレクションをチェックアウトせずに追加または削除できます。

Note that a collection version captures only a defined subset of the state of a collection. In particular, a version of a collection captures its dead properties and its bindings to version-controlled resources, but not its live properties or bindings to non-version-controlled resources.

コレクションバージョンは、コレクションの状態の定義されたサブセットのみをキャプチャすることに注意してください。特に、コレクションのバージョンは、デッドプロパティとバージョン管理されたリソースへのバインディングをキャプチャしますが、バージョン管理されていないリソースへのライブプロパティまたはバインディングはキャプチャしません。

When a server supports the working-resource feature, a client can check out a collection version to create a working collection. Unlike a version-controlled collection, which contains bindings to version-controlled resources and non-version-controlled resources, a working collection contains bindings to version history resources and non-version-controlled resources. In particular, a working collection is initialized to contain bindings to the version history resources specified by the DAV:version-controlled-binding-set of the checked out collection version. The members of a working collection can then be deleted or moved to another working collection. Non-version-controlled resources can be added to a working collection with methods such as PUT, COPY, and MKCOL. When a working collection is checked in, a VERSION-CONTROL request is automatically applied to every non-version-controlled member of the working collection, and each non-version-controlled member is replaced by its newly created version history. The DAV:version-controlled-binding-set of the new version resulting from checking in a working collection contains the binding name and version history URL for each member of the working collection.

サーバーが作業リソース機能をサポートしている場合、クライアントはコレクションバージョンをチェックアウトして作業コレクションを作成できます。バージョン管理されたリソースとバージョン管理されていないリソースへのバインディングを含むバージョン管理されたコレクションとは異なり、作業コレクションには、バージョン履歴リソースとバージョン管理されていないリソースへのバインディングが含まれています。特に、作業中のコレクションは、チェックアウトされたコレクションバージョンのDAV:version-controlled-binding-setで指定されたバージョン履歴リソースへのバインディングを含むように初期化されます。その後、作業コレクションのメンバーを削除するか、別の作業コレクションに移動できます。バージョン管理されていないリソースは、PUT、COPY、MKCOLなどのメソッドを使用して作業コレクションに追加できます。作業コレクションがチェックインされると、VERSION-CONTROL要求が作業コレクションのバージョン管理されていないすべてのメンバーに自動的に適用され、バージョン管理されていない各メンバーは、新しく作成されたバージョン履歴に置き換えられます。作業コレクションをチェックインした結果の新しいバージョンのDAV:version-統制バインディングセットには、作業コレクションの各メンバーのバインディング名とバージョン履歴URLが含まれています。

14.1 Version-Controlled Collection Properties
14.1 バージョン管理されたコレクションのプロパティ

A version-controlled collection has all the properties of a collection and of a version-controlled resource. In addition, the version-controlled-collection feature introduces the following REQUIRED property for a version-controlled collection.

バージョン管理されたコレクションには、コレクションとバージョン管理されたリソースのすべてのプロパティがあります。さらに、バージョン管理コレクション機能では、バージョン管理コレクションに次の必須プロパティが導入されています。

14.1.1 DAV:eclipsed-set (computed)
14.1.1 DAV:eclipsed-set(計算済み)

This property identifies the non-version-controlled internal members of the collection that currently are eclipsing a version-controlled internal member of the collection.

このプロパティは、コレクションのバージョン管理された内部メンバーを現在隠蔽している、コレクションのバージョン管理されていない内部メンバーを識別します。

!ELEMENT eclipsed-set (binding-name*)> <!ELEMENT binding-name (#PCDATA)> PCDATA value: URL segment An UPDATE or MERGE request can give a version-controlled collection a version-controlled internal member that has the same name as an existing non-version-controlled internal member. In this case, the non-version-controlled internal member takes precedence and is said to "eclipse" the new versioned-controlled internal member. If the non-version-controlled internal member is removed (e.g., by a DELETE or MOVE), the version-controlled internal member is exposed.

!ELEMENT eclipsed-set(binding-name *)> <!ELEMENT binding-name(#PCDATA)> PCDATA value:URL segment UPDATEまたはMERGEリクエストは、バージョン管理されたコレクションに、同じバージョン管理された内部メンバーを与えることができますバージョン管理されていない既存の内部メンバーとしての名前。この場合、バージョン管理されていない内部メンバーが優先され、新しいバージョン管理された内部メンバーが「見えなくなる」と言われます。バージョン管理されていない内部メンバーが削除された場合(DELETEまたはMOVEなどによって)、バージョン管理された内部メンバーが公開されます。

14.2 Collection Version Properties
14.2 コレクションバージョンプロパティ

A collection version has all the properties of a version. In addition, the version-controlled-collection feature introduces the following REQUIRED property for a collection version.

コレクションバージョンには、バージョンのすべてのプロパティがあります。さらに、バージョン管理コレクション機能では、コレクションバージョンに次の必須プロパティが導入されています。

14.2.1 DAV:version-controlled-binding-set (protected)
14.2.1 DAV:バージョン制御バインディングセット(保護)

This property captures the name and version-history of each version-controlled internal member of a collection.

このプロパティは、コレクションのバージョン管理された各内部メンバーの名前とバージョン履歴を取得します。

   <!ELEMENT version-controlled-binding-set
    (version-controlled-binding*)>
   <!ELEMENT version-controlled-binding
    (binding-name, version-history)>
   <!ELEMENT binding-name (#PCDATA)>
   PCDATA value: URL segment
   <!ELEMENT version-history (href)>
        
14.3 Additional OPTIONS Semantics
14.3 追加オプションセマンティクス

If the server supports the version-controlled-collection feature, it MUST include "version-controlled-collection" as a field in the DAV response header from an OPTIONS request on any resource that supports any versioning properties, reports, or methods.

サーバーがバージョン管理コレクション機能をサポートしている場合、バージョン管理プロパティ、レポート、またはメソッドをサポートするリソースのOPTIONS要求からのDAV応答ヘッダーのフィールドとして、「バージョン管理コレクション」を含める必要があります。

14.4 Additional DELETE Semantics
14.4 追加のDELETEセマンティクス

Additional Preconditions:

追加の前提条件:

(DAV:cannot-modify-checked-in-parent): If the request-URL identifies a version-controlled resource, the DELETE MUST fail when the collection containing the version-controlled resource is a checked-in version-controlled collection, unless DAV:auto-version semantics will automatically check out the version-controlled collection.

(DAV:cannot-modify-checked-in-parent):request-URLがバージョン管理されたリソースを識別する場合、バージョン管理されたリソースを含むコレクションがチェックインされたバージョン管理されたコレクションである場合、DELETEは失敗する必要があります。 DAV:auto-versionセマンティクスは、バージョン管理されたコレクションを自動的にチェックアウトします。

14.5 Additional MKCOL Semantics
14.5 追加のMKCOLセマンティクス

Additional Preconditions:

追加の前提条件:

If the request creates a new resource that is automatically placed under version control, all preconditions for VERSION-CONTROL apply to the request.

要求が自動的にバージョン管理下に置かれる新しいリソースを作成する場合、VERSION-CONTROLのすべての前提条件が要求に適用されます。

Additional Postconditions:

追加の事後条件:

If the new collection is automatically put under version control, all postconditions for VERSION-CONTROL apply to the request.

新しいコレクションが自動的にバージョン管理下に置かれる場合、VERSION-CONTROLのすべての事後条件がリクエストに適用されます。

14.6 Additional COPY Semantics
14.6 追加のCOPYセマンティクス

Additional Preconditions:

追加の前提条件:

(DAV:cannot-copy-collection-version): If the source of the request is a collection version, the request MUST fail.

(DAV:cannot-copy-collection-version):リクエストのソースがコレクションバージョンである場合、リクエストは失敗する必要があります。

14.7 Additional MOVE Semantics
14.7 追加のMOVEセマンティクス

Additional Preconditions:

追加の前提条件:

(DAV:cannot-modify-checked-in-parent): If the source of the request is a version-controlled resource, the request MUST fail when the collection containing the source is a checked-in version-controlled collection, unless DAV:auto-version semantics will automatically check out that version-controlled collection.

(DAV:cannot-modify-checked-in-parent):リクエストのソースがバージョン管理されたリソースである場合、DAVでない限り、ソースを含むコレクションがチェックインされたバージョン管理されたコレクションである場合、リクエストは失敗する必要があります。自動バージョンセマンティクスは、バージョン管理されたコレクションを自動的にチェックアウトします。

(DAV:cannot-modify-destination-checked-in-parent): If the source of the request is a version-controlled resource, the request MUST fail when the collection containing the destination is a checked-in version-controlled collection, unless DAV:auto-version semantics will automatically check out that version-controlled collection.

(DAV:cannot-modify-destination-checked-in-parent):リクエストのソースがバージョン管理されたリソースである場合、宛先を含むコレクションがチェックインされたバージョン管理されたコレクションである場合、リクエストは失敗する必要があります。 DAV:auto-versionセマンティクスは、バージョン管理されたコレクションを自動的にチェックアウトします。

14.8 Additional VERSION-CONTROL Semantics
14.8 追加のVERSION-CONTROLセマンティクス

Additional Preconditions:

追加の前提条件:

(DAV:cannot-modify-checked-in-parent): If the parent of the request-URL is a checked-in version-controlled collection, the request MUST fail unless DAV:auto-version semantics will automatically check out that version-controlled collection.

(DAV:cannot-modify-checked-in-parent):リクエストURLの親がチェックインバージョン管理コレクションである場合、DAV:auto-versionセマンティクスが自動的にそのバージョンをチェックアウトしない限り、リクエストは失敗する必要があります。管理されたコレクション。

Additional Postconditions:

追加の事後条件:

(DAV:new-version-controlled-collection): If the request body identified a collection version, the collection at the request-URL MUST contain a version-controlled internal member for each DAV:version-controlled-binding specified in the DAV:version-controlled-binding-set of the collection version, where the name and DAV:version-history of the internal member MUST be the DAV:binding-name and the DAV:version-history specified by the DAV:version-controlled-binding. If the internal member is a member of a workspace, and there is another member of the workspace for the same version history, those two members MUST identify the same version-controlled resource; otherwise, a VERSION-CONTROL request with a server selected version of the version history MUST have been applied to the URL for that internal member.

(DAV:new-version-control-collection):リクエストの本文でコレクションのバージョンが識別された場合、request-URLのコレクションには、DAVで指定された各DAV:version-Controlled-Bindingのバージョン管理された内部メンバーが含まれている必要があります。コレクションバージョンのバージョン制御バインディングセット。内部メンバーの名前とDAV:バージョン履歴は、DAV:バージョン制御バインディングによって指定されたDAV:バインディング名とDAV:バージョン履歴である必要があります。 。内部メンバーがワークスペースのメンバーであり、同じバージョン履歴のワークスペースの別のメンバーが存在する場合、これらの2つのメンバーは同じバージョン管理されたリソースを識別する必要があります。それ以外の場合は、サーバーが選択したバージョン履歴のバージョンを含むVERSION-CONTROL要求が、その内部メンバーのURLに適用されている必要があります。

14.9 Additional CHECKOUT Semantics
14.9 追加のCHECKOUTセマンティクス

Additional Postconditions:

追加の事後条件:

(DAV:initialize-version-history-bindings): If the request has been applied to a collection version, the new working collection MUST be initialized to contain a binding to each of the history resources identified in the DAV:version-controlled-binding-set of that collection version.

(DAV:initialize-version-history-bindings):リクエストがコレクションバージョンに適用されている場合、新しい作業コレクションを初期化して、DAV:version-control-bindingで識別された各履歴リソースへのバインディングを含める必要があります。 -そのコレクションバージョンのセット。

14.10 Additional CHECKIN Semantics
14.10 追加のCHECKINセマンティクス

Additional Postconditions:

追加の事後条件:

(DAV:initialize-version-controlled-bindings): If the request-URL identified a version-controlled collection, then the DAV:version-controlled-binding-set of the new collection version MUST contain a DAV:version-controlled-binding that identifies the binding name and version history for each version-controlled binding of the version- controlled collection.

(DAV:initialize-version-制御されたバインディング):リクエストURLがバージョン管理されたコレクションを識別した場合、新しいコレクションバージョンのDAV:バージョン制御されたバインディングセットはDAV:バージョン制御されたバインディングを含まなければなりませんこれは、バージョン管理されたコレクションのバージョン管理された各バインディングのバインディング名とバージョン履歴を識別します。

(DAV:version-control-working-collection-members): If the request-URL identified a working collection, a VERSION-CONTROL request MUST have been automatically applied to every non-version-controlled member of the working collection, and each non-version-controlled member MUST have been replaced by its newly created version history. If a working collection member was a non-version-controlled collection, every member of the non-version-controlled collection MUST have been placed under version control before the non-version-controlled collection was placed under version control. The DAV:version-controlled-binding-set of the new collection version MUST contain a DAV:version-controlled-binding that identifies the binding name and the version history URL for each member of the working collection.

(DAV:version-control-working-collection-members):リクエストURLが作業コレクションを識別した場合、VERSION-CONTROLリクエストは、作業コレクションのすべての非バージョン管理メンバーに自動的に適用されていなければなりません。 -version-制御されたメンバーは、新しく作成されたバージョン履歴で置き換えられている必要があります。作業中のコレクションメンバーがバージョン管理されていないコレクションである場合、バージョン管理されていないコレクションのすべてのメンバーは、バージョン管理されていないコレクションがバージョン管理される前にバージョン管理されている必要があります。新しいコレクションバージョンのDAV:version-Controlled-Binding-Setには、作業コレクションの各メンバーのバインディング名とバージョン履歴URLを識別するDAV:version-Controlled-Bindingが含まれている必要があります。

14.11 Additional UPDATE and MERGE Semantics
14.11 追加のUPDATEおよびMERGEセマンティクス

Additional Postconditions:

追加の事後条件:

(DAV:update-version-controlled-collection-members): If the request modified the DAV:checked-in version of a version-controlled collection, then the version-controlled members of that version-controlled collection MUST have been updated. In particular:

(DAV:update-version-controlled-collection-members):リクエストがバージョン管理されたコレクションのDAV:checked-inバージョンを変更した場合、そのバージョン管理されたコレクションのバージョン管理されたメンバーは更新されている必要があります。特に:

- A version-controlled internal member MUST have been deleted if its version history is not identified by the DAV:version-controlled-binding-set of the new DAV:checked-in version. - A version-controlled internal member for a given version history MUST have been renamed if its binding name differs from the DAV:binding-name for that version history in the DAV:version-controlled-binding-set of the new DAV:checked-in version. - A new version-controlled internal member MUST have been created when a version history is identified by the DAV:version-controlled-binding-set of the DAV:checked-in version, but there was no member of the version-controlled collection for that version history. If a new version-controlled member is in a workspace that already has a version-controlled resource for that version history, then the new version-controlled member MUST be just a binding (i.e., another name for) that existing version-controlled resource. Otherwise, the content and dead properties of the new version-controlled member MUST have been initialized to be those of the version specified for that version history by the request. If no version is specified for that version history by the request, the version selected is server defined.

- バージョン管理された内部メンバーは、そのバージョン履歴が新しいDAV:checked-inバージョンのDAV:version-controlled-binding-setで識別されない場合は削除されている必要があります。 -特定のバージョン履歴のバージョン管理された内部メンバーは、そのバインディング名が新しいDAV:checked-のDAV:version-controlled-binding-setにあるそのバージョン履歴のDAV:binding-nameと異なる場合、名前を変更する必要がありますバージョンで。 -新しいバージョン管理内部メンバーは、バージョン履歴がDAV:checked-inバージョンのDAV:version-control-binding-setによって識別されたときに作成されている必要がありますが、バージョン管理コレクションのメンバーがありませんでしたそのバージョン履歴。新しいバージョン管理されたメンバーが、そのバージョン履歴のバージョン管理されたリソースを既に持っているワークスペースにある場合、新しいバージョン管理されたメンバーは、既存のバージョン管理されたリソースの単なるバインディング(つまり、別の名前)でなければなりません。それ以外の場合、新しいバージョン管理されたメンバーのコンテンツと無効なプロパティは、要求によってそのバージョン履歴に指定されたバージョンのものに初期化されている必要があります。要求によってそのバージョン履歴のバージョンが指定されていない場合、選択されたバージョンはサーバー定義です。

15 Internationalization Considerations

15国際化に関する考慮事項

This specification has been designed to be compliant with the IETF Policy on Character Sets and Languages [RFC2277]. Specifically, where human-readable strings exist in the protocol, either their charset is explicitly stated, or XML mechanisms are used to specify the charset used. Additionally, these human-readable strings all have the ability to express the natural language of the string.

この仕様は、文字セットと言語に関するIETFポリシー[RFC2277]に準拠するように設計されています。具体的には、プロトコルに人間が読める文字列が存在する場合、その文字セットが明示的に記述されているか、XMLメカニズムを使用して、使用する文字セットが指定されています。さらに、これらの人間が読める文字列はすべて、文字列の自然言語を表現する機能を備えています。

Most of the human-readable strings in this protocol appear in properties, such as DAV:creator-displayname. As defined by RFC 2518, properties have their values marshaled as XML. XML has explicit provisions for character set tagging and encoding, and requires that XML processors read XML elements encoded, at minimum, using the UTF-8 [RFC2279] encoding of the ISO 10646 multilingual plane. The charset parameter of the Content-Type header, together with the XML "encoding" attribute, provide charset identification information for MIME and XML processors. Proper use of the charset header with XML is described in RFC 3023. XML also provides a language tagging capability for specifying the language of the contents of a particular XML element. XML uses either IANA registered language tags (see RFC 3066) or ISO 639 language tags in the "xml:lang" attribute of an XML element to identify the language of its content and attributes.

このプロトコルの人間が読める文字列のほとんどは、DAV:creator-displaynameなどのプロパティに表示されます。 RFC 2518で定義されているように、プロパティにはXMLとしてマーシャリングされた値があります。 XMLには、文字セットのタグ付けとエンコーディングの明示的な規定があり、XMLプロセッサは、少なくともISO 10646多言語プレーンのUTF-8 [RFC2279]エンコーディングを使用してエンコードされたXML要素を読み取る必要があります。 Content-Typeヘッダーのcharsetパラメータは、XMLの "encoding"属性と共に、MIMEおよびXMLプロセッサの文字セット識別情報を提供します。 XMLでの文字セットヘッダーの適切な使用については、RFC 3023で説明されています。XMLには、特定のXML要素のコンテンツの言語を指定するための言語タグ付け機能もあります。 XMLは、XML要素の「xml:lang」属性でIANA登録済み言語タグ(RFC 3066を参照)またはISO 639言語タグを使用して、コンテンツと属性の言語を識別します。

DeltaV applications, since they build upon WebDAV, are subject to the internationalization requirements specified in RFC 2518, Section 16. In brief, these requirements mandate the use of XML character set tagging, character set encoding, and language tagging capabilities. Additionally, they strongly recommend reading RFC 3023 for instruction on the use of MIME media types for XML transport and the use of the charset header.

DeltaVアプリケーションはWebDAVに基づいて構築されているため、RFC 2518、セクション16で指定された国際化要件の対象となります。簡単に言えば、これらの要件は、XML文字セットのタグ付け、文字セットのエンコード、および言語タグ付け機能の使用を義務付けています。さらに、XMLトランスポートでのMIMEメディアタイプの使用と文字セットヘッダーの使用については、RFC 3023を読むことを強くお勧めします。

Within this specification, a label is a human-readable string that is marshaled in the Label header and as XML in request entity bodies. When used in the Label header, the value of the label is URL-escaped and encoded using UTF-8.

この仕様内では、ラベルは人間が読める文字列であり、Labelヘッダーとリクエストエンティティ本体のXMLとしてマーシャリングされます。 Labelヘッダーで使用される場合、ラベルの値はURLエスケープされ、UTF-8を使用してエンコードされます。

16 Security Considerations

16セキュリティに関する考慮事項

All of the security considerations of WebDAV discussed in RFC 2518, Section 17 also apply to WebDAV versioning. Some aspects of the versioning protocol help address security risks introduced by WebDAV, but other aspects can increase these security risks. These issues are detailed below.

RFC 2518のセクション17で説明されているWebDAVのセキュリティに関する考慮事項はすべて、WebDAVのバージョン管理にも適用されます。バージョン管理プロトコルのいくつかの側面は、WebDAVによって導入されるセキュリティリスクに対処するのに役立ちますが、他の側面はこれらのセキュリティリスクを増加させる可能性があります。これらの問題の詳細は以下のとおりです。

16.1 Auditing and Traceability
16.1 監査とトレーサビリティ

WebDAV increases the ease with which a remote client can modify resources on a web site, but this also increases the risk of important information being overwritten and lost, either through user error or user maliciousness. The use of WebDAV versioning can help address this problem by guaranteeing that previous information is saved in the form of immutable versions, and therefore is easily available for retrieval or restoration. In addition, the version history provides a log of when changes were made, and by whom. When requests are appropriately authenticated, the history mechanism provides a clear audit trail for changes to web resources. This can often significantly improve the ability to identify the source of the security problem, and thereby help guard against it in the future.

WebDAVを使用すると、リモートクライアントがWebサイトのリソースを簡単に変更できるようになりますが、ユーザーエラーやユーザーの悪意により、重要な情報が上書きされたり失われたりするリスクも高まります。 WebDAVバージョニングを使用すると、以前の情報が不変バージョンの形式で保存され、検索や復元に簡単に利用できるようになるため、この問題に対処できます。また、バージョン履歴には、いつ誰が変更したかが記録されます。リクエストが適切に認証されると、履歴メカニズムにより、Webリソースへの変更に対する明確な監査証跡が提供されます。これにより、セキュリティ問題の原因を特定する能力が大幅に向上し、将来的にそれを防ぐことができます。

16.2 Increased Need for Access Control
16.2 アクセス制御の必要性の増加

WebDAV versioning provides a variety of links between related pieces of information. This can increase the risk that authentication or authorization errors allow a client to locate sensitive information. For example, if version history is not appropriately protected by access control, a client can use the version history of a public resource to identify later versions of that resource that the user intended to keep private. This increases the need for reliable authentication and accurate authorization.

WebDAVバージョン管理は、関連する情報間のさまざまなリンクを提供します。これにより、認証または承認エラーによりクライアントが機密情報を特定できるリスクが高まります。たとえば、バージョン履歴がアクセス制御によって適切に保護されていない場合、クライアントはパブリックリソースのバージョン履歴を使用して、ユーザーがプライベートに保つつもりだったそのリソースの新しいバージョンを識別できます。これにより、信頼できる認証と正確な承認の必要性が高まります。

A WebDAV versioning client should be designed to handle a mixture of 200 (OK) and 403 (Forbidden) responses on attempts to access the properties and reports that are supported by a resource. For example, a particular user may be authorized to access the content and dead properties of a version-controlled resource, but not be authorized to access the DAV:checked-in, DAV:checked-out, or DAV:version-history properties of that resource.

WebDAVバージョニングクライアントは、リソースでサポートされているプロパティとレポートにアクセスしようとすると、200(OK)と403(Forbidden)の混合応答を処理するように設計する必要があります。たとえば、特定のユーザーには、バージョン管理されたリソースのコンテンツと無効なプロパティへのアクセスが許可されていても、DAV:checked-in、DAV:checked-out、またはDAV:version-historyのプロパティへのアクセスは許可されていない場合があります。そのリソース。

16.3 Security Through Obscurity
16.3 あいまいさによるセキュリティ

While it is acknowledged that "obscurity" is not an effective means of security, it is often a good technique to keep honest people honest. Within this protocol, version URLs, version history URLs, and working resource URLs are generated by the server and can be properly obfuscated so as not to draw attention to them. For example, a version of "http://foobar.com/reviews/salaries.html" might be assigned a URL such as "http://foobar.com/repo/4934943".

「あいまいさ」はセキュリティの有効な手段ではないことは認められていますが、多くの場合、正直な人々を正直に保つための優れた手法です。このプロトコル内では、バージョンURL、バージョン履歴URL、および作業リソースURLがサーバーによって生成され、注意をそらさないように適切に難読化できます。たとえば、「http://foobar.com/reviews/salaries.html」のバージョンには、「http://foobar.com/repo/4934943」などのURLが割り当てられます。

16.4 Denial of Service
16.4 サービス拒否

The auto-versioning mechanism provided by WebDAV can result in a large number of resources being created on the server, since each update to a resource could potentially result in the creation of a new version resource. This increases the risk of a denial of service attack that exhausts the storage capability of a server. This risk is especially significant because it can be an unintentional result of something like an aggressive auto-save feature provided by an editing client. A server can decrease this risk by using delta storage techniques to minimize the cost of additional versions, and by limiting auto-versioning to a locking client, and thereby decreasing the number of inadvertent version creations.

WebDAVによって提供される自動バージョン管理メカニズムでは、リソースを更新するたびに新しいバージョンのリソースが作成される可能性があるため、サーバー上に多数のリソースが作成される可能性があります。これにより、サーバーのストレージ機能を使い果たすサービス拒否攻撃のリスクが高まります。このリスクは、編集クライアントによって提供されるアグレッシブな自動保存機能などの意図しない結果である可能性があるため、特に重要です。サーバーは、差分ストレージ技術を使用して追加バージョンのコストを最小限に抑え、自動バージョン管理をロックしているクライアントに制限することで、このリスクを減らし、不注意によるバージョン作成の数を減らすことができます。

17 IANA Considerations

17 IANAに関する考慮事項

This document uses the namespace defined by RFC 2518 for XML elements. All other IANA considerations from RFC 2518 are also applicable to WebDAV Versioning.

このドキュメントでは、XML要素に対してRFC 2518で定義されている名前空間を使用します。 RFC 2518の他のすべてのIANAの考慮事項は、WebDAVバージョニングにも適用できます。

18 Intellectual Property

18知的財産

The following notice is copied from RFC 2026, Section 10.4, and describes the position of the IETF concerning intellectual property claims made against this document.

次の通知はRFC 2026のセクション10.4からコピーされ、このドキュメントに対して行われた知的財産権の主張に関するIETFの立場を説明しています。

The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use other technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the procedures of the IETF with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF Secretariat.

IETFは、このドキュメントに記載されている実装または他のテクノロジーの使用に関連すると主張される知的財産またはその他の権利の有効性または範囲、またはそのような権利に基づくライセンスが利用可能であるかどうかについて、いかなる立場も取りません。 ;また、そのような権利を特定するために何らかの努力をしたことも表していません。標準化過程および標準化関連文書の権利に関するIETFの手順に関する情報は、BCP-11にあります。公開のために利用可能になった権利の主張と利用可能になるライセンスの保証のコピー、またはこの仕様の実装者またはユーザーによる一般的なライセンスまたはそのような所有権の使用の許可を得ようとした試みの結果を入手できます。 IETF事務局から。

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director.

IETFは、この規格を実践するために必要となる可能性のある技術をカバーする可能性のある著作権、特許、特許出願、またはその他の所有権に注意を向けるよう、利害関係者に呼びかけます。 IETF Executive Directorに情報を送信してください。

19 Acknowledgements

19謝辞

This protocol is the collaborative product of the authors and the rest of the DeltaV design team: Boris Bokowski, Bruce Cragun (Novell), Jim Doubek (Macromedia), David Durand (INSO), Lisa Dusseault (Xythos), Chuck Fay (FileNet), Yaron Goland, Mark Hale (Interwoven), Henry Harbury (Merant), James Hunt, Jeff McAffer (OTI), Peter Raymond (Merant), Juergen Reuter, Edgar Schwarz (Marconi), Eric Sedlar (Oracle), Bradley Sergeant, Greg Stein, and John Vasta (Rational). We would like to acknowledge the foundation laid for us by the authors of the WebDAV and HTTP protocols upon which this protocol is layered, and the invaluable feedback from the WebDAV and DeltaV working groups.

このプロトコルは、作者とDeltaV設計チームの残りのメンバーの共同製品です。BorisBokowski、Bruce Cragun(Novell)、Jim Doubek(Macromedia)、David Durand(INSO)、Lisa Dusseault(Xythos)、Chuck Fay(FileNet) 、Yaron Goland、Mark Hale(Interwoven)、Henry Harbury(Merant)、James Hunt、Jeff McAffer(OTI)、Peter Raymond(Merant)、Juergen Reuter、Edgar Schwarz(Marconi)、Eric Sedlar(Oracle)、Bradley Sergeant、Gregスタイン、そしてジョン・バスタ(合理的)。このプロトコルの基盤となっているWebDAVおよびHTTPプロトコルの作成者によって築かれた基盤と、WebDAVおよびDeltaVワーキンググループからの貴重なフィードバックに感謝します。

20 References

20参照

[ISO639] ISO, "Code for the representation of names of languages", ISO 639:1988, 1998.

[ISO639] ISO、「言語の名前を表すためのコード」、ISO 639:1988、1998。

[RFC2026] Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, October 1996.

[RFC2026] Bradner、S。、「インターネット標準プロセス-リビジョン3」、BCP 9、RFC 2026、1996年10月。

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2119] Bradner、S。、「要件レベルを示すためにRFCで使用するキーワード」、BCP 14、RFC 2119、1997年3月。

[RFC2277] Alvestrand, H., "IETF Policy on Character Sets and Languages", BCP 18, RFC 2277, January 1998.

[RFC2277] Alvestrand、H。、「文字セットと言語に関するIETFポリシー」、BCP 18、RFC 2277、1998年1月。

[RFC2279] Yergeau, F., "UTF-8, a transformation format of ISO 10646", RFC 2279, January 1998.

[RFC2279] Yergeau、F。、「UTF-8、ISO 10646の変換フォーマット」、RFC 2279、1998年1月。

[RFC2396] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform Resource Identifiers (URI): Generic Syntax", RFC 2396, August 1998.

[RFC2396] Berners-Lee、T.、Fielding、R。およびL. Masinter、「Uniform Resource Identifiers(URI):Generic Syntax」、RFC 2396、1998年8月。

[RFC2518] Goland, Y., Whitehead, E., Faizi, A., Carter, S. and D. Jensen, "HTTP Extensions for Distributed Authoring - WEBDAV", RFC 2518, February 1999.

[RFC2518] Goland、Y.、Whitehead、E.、Faizi、A.、Carter、S。およびD. Jensen、「分散オーサリング用のHTTP拡張-WEBDAV」、RFC 2518、1999年2月。

[RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P. and T.Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.

[RFC2616] Fielding、R.、Gettys、J.、Mogul、J.、Frystyk、H.、Masinter、L.、Leach、P.、T.Berners-Lee、「ハイパーテキスト転送プロトコル-HTTP / 1.1」、 RFC 2616、1999年6月。

[RFC3023] Murata, M., St.Laurent, S. and D. Kohn, "XML Media Types", RFC 3023, January 2001.

[RFC3023] Murata、M.、St.Laurent、S。およびD. Kohn、「XML Media Types」、RFC 3023、2001年1月。

[RFC3066] Alvestrand, H., "Tags for the Identification of Languages", BCP 47, RFC 3066, January 2001.

[RFC3066] Alvestrand、H。、「言語の識別のためのタグ」、BCP 47、RFC 3066、2001年1月。

Appendix A - Resource Classification

付録A-リソースの分類

This document introduces several different kinds of versioning resources, such as version-controlled resources, versions, checked-out resources, and version history resources. As clients discover resources on a server, they may find it useful to classify those resources (for example, to make UI decisions on choice of icon and menu options).

このドキュメントでは、バージョン管理されたリソース、バージョン、チェックアウトされたリソース、バージョン履歴リソースなど、さまざまな種類のバージョン管理リソースを紹介します。クライアントはサーバー上のリソースを検出するので、それらのリソースを分類すること(たとえば、アイコンとメニューオプションの選択に関するUIの決定を行うこと)が役立つ場合があります。

Clients should classify a resource by examining the values of the DAV:supported-method-set (see Section 3.1.3) and DAV:supported-live-property-set (see Section 3.1.4) properties of that resource.

クライアントは、そのリソースのDAV:supported-method-set(セクション3.1.3を参照)およびDAV:supported-live-property-set(セクション3.1.4を参照)プロパティの値を調べて、リソースを分類する必要があります。

The following list shows the supported live properties and methods for each kind of versioning resource. Where an optional feature introduces a new kind of versioning resource, that feature is noted in parentheses following the name of that kind of versioning resource. If a live property or method is optional for a kind of versioning resource, the feature that introduces that live property or method is noted in parentheses following the live property or method name.

次のリストは、各バージョンのリソースでサポートされているライブプロパティとメソッドを示しています。オプション機能が新しい種類のバージョン管理リソースを導入する場合、その機能はその種類のバージョン管理リソースの名前に続く括弧内に示されます。あるバージョンのリソースのライブプロパティまたはメソッドがオプションである場合、そのライブプロパティまたはメソッドを導入する機能は、ライブプロパティまたはメソッド名に続く括弧内に示されます。

A.1 DeltaV-Compliant Unmapped URL (a URL that identifies no resource)
A.1 DeltaV準拠のマップされていないURL(リソースを識別しないURL)

Supported methods:

サポートされているメソッド:

- PUT [RFC2616] - MKCOL [RFC2518] - MKACTIVITY (activity) - VERSION-CONTROL (workspace) - MKWORKSPACE (workspace)

- PUT [RFC2616]-MKCOL [RFC2518]-MKACTIVITY(アクティビティ)-VERSION-CONTROL(ワークスペース)-MKWORKSPACE(ワークスペース)

A.2 DeltaV-Compliant Resource
A.2 DeltaV準拠のリソース

Supported live properties:

サポートされているライブプロパティ:

- DAV:comment - DAV:creator-displayname - DAV:supported-method-set - DAV:supported-live-property-set - DAV:supported-report-set - all properties defined in WebDAV [RFC2518].

- DAV:comment-DAV:creator-displayname-DAV:supported-method-set-DAV:supported-live-property-set-DAV:supported-report-set-WebDAV [RFC2518]で定義されているすべてのプロパティ。

Supported methods:

サポートされているメソッド:

- REPORT - all methods defined in WebDAV [RFC2518] - all methods defined in HTTP/1.1 [RFC2616].

- REPORT-WebDAV [RFC2518]で定義されているすべてのメソッド-HTTP / 1.1 [RFC2616]で定義されているすべてのメソッド。

A.3 DeltaV-Compliant Collection
A.3 DeltaV準拠のコレクション

Supported live properties:

サポートされているライブプロパティ:

- all DeltaV-compliant resource properties.

- すべてのDeltaV準拠のリソースプロパティ。

Supported methods:

サポートされているメソッド:

- BASELINE-CONTROL (baseline) - all DeltaV-compliant resource methods.

- BASELINE-CONTROL(ベースライン)-すべてのDeltaV準拠のリソースメソッド。

A.4 Versionable Resource
A.4バージョン管理可能なリソース

Supported live properties:

サポートされているライブプロパティ:

- DAV:workspace (workspace) - DAV:version-controlled-configuration (baseline) - all DeltaV-compliant resource properties.

- DAV:workspace(ワークスペース)-DAV:version-controlled-configuration(ベースライン)-すべてのDeltaV準拠のリソースプロパティ。

Supported methods:

サポートされているメソッド:

- VERSION-CONTROL - all DeltaV-compliant resource methods.

- VERSION-CONTROL-すべてのDeltaV準拠のリソースメソッド。

A.5 Version-Controlled Resource
A.5バージョン管理されたリソース

Supported live properties:

サポートされているライブプロパティ:

- DAV:auto-version - DAV:version-history (version-history) - DAV:workspace (workspace) - DAV:version-controlled-configuration (baseline) - all DeltaV-compliant resource properties.

- DAV:自動バージョン-DAV:バージョン履歴(バージョン履歴)-DAV:ワークスペース(ワークスペース)-DAV:バージョン制御構成(ベースライン)-すべてのDeltaV準拠のリソースプロパティ。

Supported methods:

サポートされているメソッド:

- VERSION-CONTROL - MERGE (merge) - all DeltaV-compliant resource methods.

- VERSION-CONTROL-MERGE(マージ)-すべてのDeltaV準拠のリソースメソッド。

A.6 Version
A.6バージョン

Supported live properties:

サポートされているライブプロパティ:

- DAV:predecessor-set - DAV:successor-set - DAV:checkout-set - DAV:version-name - DAV:checkout-fork (in-place-checkout or working resource) - DAV:checkin-fork (in-place-checkout or working resource) - DAV:version-history (version-history) - DAV:label-name-set (label) - DAV:activity-set (activity) - all DeltaV-compliant resource properties.

- DAV:predecessor-set-DAV:successor-set-DAV:checkout-set-DAV:version-name-DAV:checkout-fork(インプレースチェックアウトまたは作業リソース)-DAV:チェックインフォーク(インプレース-チェックアウトまたは作業リソース)-DAV:バージョン履歴(バージョン履歴)-DAV:ラベル名セット(ラベル)-DAV:アクティビティセット(アクティビティ)-すべてのDeltaV準拠のリソースプロパティ。

Supported methods:

サポートされているメソッド:

- LABEL (label) - CHECKOUT (working-resource) - all DeltaV-compliant resource methods.

- LABEL(ラベル)-CHECKOUT(作業リソース)-すべてのDeltaV準拠のリソースメソッド。

A.7 Checked-In Version-Controlled Resource
A.7チェックインされたバージョン管理されたリソース

Supported live properties:

サポートされているライブプロパティ:

- DAV:checked-in - all version-controlled resource properties.

- DAV:checked-in-すべてのバージョン管理されたリソースプロパティ。

Supported methods:

サポートされているメソッド:

- CHECKOUT (checkout-in-place) - UPDATE (update) - all version-controlled resource methods.

- CHECKOUT(インプレースチェックアウト)-UPDATE(更新)-すべてのバージョン管理されたリソースメソッド。

A.8 Checked-Out Resource
A.8チェックアウトされたリソース

Supported live properties:

サポートされているライブプロパティ:

- DAV:checked-out - DAV:predecessor-set - DAV:checkout-fork (in-place-checkout or working resource) - DAV:checkin-fork (in-place-checkout or working resource) - DAV:merge-set (merge) - DAV:auto-merge-set (merge) - DAV:unreserved (activity) - DAV:activity-set (activity) Supported methods:

-DAV:checked-out-DAV:predecessor-set-DAV:checkout-fork(インプレースチェックアウトまたは作業リソース)-DAV:checkin-fork(インプレースチェックアウトまたは作業リソース)-DAV:merge-set (マージ)-DAV:auto-merge-set(マージ)-DAV:unreserved(アクティビティ)-DAV:activity-set(アクティビティ)サポートされているメソッド:

- CHECKIN (checkout-in-place or working-resource) - all DeltaV-compliant resource methods.

- CHECKIN(チェックアウトインプレースまたは作業リソース)-すべてのDeltaV準拠のリソースメソッド。

A.9 Checked-Out Version-Controlled Resource (checkout-in-place)
A.9チェックアウトされたバージョン管理されたリソース(チェックアウトインプレース)

Supported live properties:

サポートされているライブプロパティ:

- all version-controlled resource properties. - all checked-out resource properties.

- すべてのバージョン管理されたリソースプロパティ。 -すべてのチェックアウトされたリソースプロパティ。

Supported methods:

サポートされているメソッド:

- UNCHECKOUT - all version-controlled resource methods. - all checked-out resource methods.

- UNCHECKOUT-すべてのバージョン管理されたリソースメソッド。 -すべてのチェックアウトされたリソースメソッド。

A.10 Working Resource (working-resource)
A.10作業リソース(working-resource)

Supported live properties:

サポートされているライブプロパティ:

- all DeltaV-compliant resource properties - all checked-out resource properties - DAV:auto-update.

- すべてのDeltaV準拠のリソースプロパティ-すべてのチェックアウトされたリソースプロパティ-DAV:auto-update。

Supported methods:

サポートされているメソッド:

- all checked-out resource methods.

- すべてのチェックアウトされたリソースメソッド。

A.11 Version History (version-history)
A.11バージョン履歴(version-history)

Supported live properties:

サポートされているライブプロパティ:

- DAV:version-set - DAV:root-version - all DeltaV-compliant resource properties.

- DAV:version-set-DAV:root-version-すべてのDeltaV準拠のリソースプロパティ。

Supported methods:

サポートされているメソッド:

- all DeltaV-compliant resource methods.

- すべてのDeltaV準拠のリソースメソッド。

A.12 Workspace (workspace)
A.12ワークスペース(ワークスペース)

Supported live properties:

サポートされているライブプロパティ:

- DAV:workspace-checkout-set - DAV:baseline-controlled-collection-set (baseline) - DAV:current-activity-set (activity) - all DeltaV-compliant collection properties.

- DAV:workspace-checkout-set-DAV:baseline-controlled-collection-set(ベースライン)-DAV:current-activity-set(activity)-すべてのDeltaV準拠のコレクションプロパティ。

Supported methods:

サポートされているメソッド:

- all DeltaV-compliant collection methods.

- すべてのDeltaV準拠の収集方法。

A.13 Activity (activity)
A.13アクティビティ(アクティビティ)

Supported live properties:

サポートされているライブプロパティ:

- DAV:activity-version-set - DAV:activity-checkout-set - DAV:subactivity-set - DAV:current-workspace-set - all DeltaV-compliant resource properties.

- DAV:activity-version-set-DAV:activity-checkout-set-DAV:subactivity-set-DAV:current-workspace-set-すべてのDeltaV準拠のリソースプロパティ。

Supported methods:

サポートされているメソッド:

- all DeltaV-compliant resource methods.

- すべてのDeltaV準拠のリソースメソッド。

A.14 Version-Controlled Collection (version-controlled-collection)
A.14バージョン管理コレクション(バージョン管理コレクション)

Supported live properties:

サポートされているライブプロパティ:

- DAV:eclipsed-set - all version-controlled resource properties.

- DAV:eclipsed-set-すべてのバージョン管理されたリソースプロパティ。

Supported methods:

サポートされているメソッド:

- all version-controlled resource methods.

- すべてのバージョン管理されたリソースメソッド。

A.15 Collection Version (version-controlled-collection)
A.15コレクションバージョン(バージョン管理コレクション)

Supported live properties:

サポートされているライブプロパティ:

- DAV:version-controlled-binding-set - all version properties.

- DAV:version-controlled-binding-set-すべてのバージョンプロパティ。

Supported methods:

サポートされているメソッド:

- all version methods.

- すべてのバージョンメソッド。

A.16 Version-Controlled Configuration (baseline)
A.16バージョン管理された構成(ベースライン)

Supported live properties:

サポートされているライブプロパティ:

- DAV:baseline-controlled-collection - all version-controlled resource properties.

- DAV:baseline-統制コレクション-すべてのバージョン管理リソースプロパティ。

Supported methods:

サポートされているメソッド:

- all version-controlled resource methods.

- すべてのバージョン管理されたリソースメソッド。

A.17 Baseline (baseline)
A.17ベースライン(ベースライン)

Supported live properties:

サポートされているライブプロパティ:

- DAV:baseline-collection - DAV:subbaseline-set - all version properties.

- DAV:baseline-collection-DAV:subbaseline-set-すべてのバージョンプロパティ。

Supported methods:

サポートされているメソッド:

- all version methods.

- すべてのバージョンメソッド。

A.18 Checked-Out Version-Controlled Configuration (baseline)
A.18チェックアウトされたバージョン管理された構成(ベースライン)

Supported live properties:

サポートされているライブプロパティ:

- DAV:subbaseline-set - all version-controlled configuration properties.

- DAV:subbaseline-set-すべてのバージョン管理された構成プロパティ。

Supported methods:

サポートされているメソッド:

- all version-controlled configuration methods.

- すべてのバージョン管理された構成メソッド。

Authors' Addresses

著者のアドレス

Geoffrey Clemm Rational Software 20 Maguire Road, Lexington, MA 02421

Geoffrey Clemm Rational Software 20 Maguire Road、Lexington、MA 02421

   EMail: geoffrey.clemm@rational.com
        

Jim Amsden IBM 3039 Cornwallis, Research Triangle Park, NC 27709

ジムアムスデンIBM 3039コーンウォリス、リサーチトライアングルパーク、ノースカロライナ27709

   EMail: jamsden@us.ibm.com
        

Tim Ellison IBM Hursley Park, Winchester, UK S021 2JN

Tim Ellison IBM Hursley Park、ウィンチェスター、イギリスS021 2JN

   EMail: tim_ellison@uk.ibm.com
        

Christopher Kaler Microsoft One Microsoft Way, Redmond, WA 90852

クリストファーカーラーマイクロソフトワンマイクロソフトウェイ、レドモンド、ワシントン州90852

   EMail: ckaler@microsoft.com
        

Jim Whitehead UC Santa Cruz, Dept. of Computer Science 1156 High Street, Santa Cruz, CA 95064

ジムホワイトヘッドカリフォルニア大学サンタクルーズ校コンピューターサイエンス学部1156ハイストリート、カリフォルニア州サンタクルーズ95064

   EMail: ejw@cse.ucsc.edu
        

Full Copyright Statement

完全な著作権表示

Copyright (C) The Internet Society (2002). All Rights Reserved.

Copyright(C)The Internet Society(2002)。全著作権所有。

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

このドキュメントとその翻訳はコピーして他のユーザーに提供することができ、コメントまたはその他の方法で説明したり、その実装を支援する二次的著作物は、いかなる種類の制限なしに、全体または一部を準備、コピー、公開、および配布することができます。ただし、上記の著作権表示とこの段落は、そのようなすべてのコピーと派生物に含まれています。ただし、この文書自体は、著作権に関する通知を削除したり、インターネットソサエティや他のインターネット組織への参照を削除したりするなど、いかなる方法でも変更できません。ただし、インターネット標準を開発する目的で必要な場合は除きます。インターネット標準のプロセスに従うか、または必要に応じて、それを英語以外の言語に翻訳する必要があります。

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

上記で付与された制限付きのアクセス許可は永続的であり、インターネットソサエティまたはその後継者または譲受人によって取り消されることはありません。

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

このドキュメントとここに含まれる情報は「現状有姿」で提供され、インターネット社会およびインターネット技術タスクフォースは、明示または黙示を問わず、ここに記載されている情報の使用が保証するものに限定されないいかなる保証も含め、一切の保証を否認します。商品性または特定の目的への適合性に関する権利または黙示の保証を侵害すること。

Acknowledgement

謝辞

Funding for the RFC Editor function is currently provided by the Internet Society.

RFC Editor機能への資金提供は、現在Internet Societyから提供されています。