[要約] RFC 6638は、CalDAVにスケジューリング拡張機能を追加するための仕様です。目的は、CalDAVクライアントとサーバー間でのスケジュール情報の効率的なやり取りを可能にすることです。

Internet Engineering Task Force (IETF)                          C. Daboo
Request for Comments: 6638                                    Apple Inc.
Updates: 4791, 5546                                      B. Desruisseaux
Category: Standards Track                                         Oracle
ISSN: 2070-1721                                                June 2012
        

Scheduling Extensions to CalDAV

CalDAVの拡張のスケジュール

Abstract

概要

This document defines extensions to the Calendaring Extensions to WebDAV (CalDAV) "calendar-access" feature to specify a standard way of performing scheduling operations with iCalendar-based calendar components. This document defines the "calendar-auto-schedule" feature of CalDAV.

このドキュメントでは、iCalendarベースのカレンダーコンポーネントでスケジュール操作を実行する標準的な方法を指定するために、Calendaring WebDAV(CalDAV)の「カレンダーアクセス」機能の拡張機能を定義します。このドキュメントでは、CalDAVの「カレンダー自動スケジュール」機能を定義します。

Status of This Memo

本文書の状態

This is an Internet Standards Track document.

これはInternet Standards Trackドキュメントです。

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741.

このドキュメントは、IETF(Internet Engineering Task Force)の製品です。これは、IETFコミュニティのコンセンサスを表しています。公開レビューを受け、インターネットエンジニアリングステアリンググループ(IESG)による公開が承認されました。インターネット標準の詳細については、RFC 5741のセクション2をご覧ください。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6638.

このドキュメントの現在のステータス、エラータ、およびフィードバックの提供方法に関する情報は、http://www.rfc-editor.org/info/rfc6638で入手できます。

Copyright Notice

著作権表示

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

Copyright(c)2012 IETF Trustおよびドキュメントの作成者として特定された人物。全著作権所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

この文書は、BCP 78およびこの文書の発行日に有効なIETF文書に関するIETFトラストの法的規定(http://trustee.ietf.org/license-info)の対象となります。これらのドキュメントは、このドキュメントに関するあなたの権利と制限を説明しているため、注意深く確認してください。このドキュメントから抽出されたコードコンポーネントには、Trust Legal Provisionsのセクション4.eに記載されているSimplified BSD Licenseのテキストが含まれている必要があり、Simplified BSD Licenseに記載されているように保証なしで提供されます。

This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English.

このドキュメントには、2008年11月10日より前に公開または公開されたIETFドキュメントまたはIETFコントリビューションの素材が含まれている場合があります。この素材の一部の著作権を管理する人は、IETFトラストにそのような素材の変更を許可する権利を付与していないIETF標準プロセス外。このような資料の著作権を管理する人から適切なライセンスを取得しない限り、このドキュメントはIETF標準プロセス外で変更できません。また、その派生物は、IETF標準プロセス外で作成できません。 RFCとして、またはそれを英語以外の言語に翻訳するための出版物。

Table of Contents

目次

   1. Introduction ....................................................5
      1.1. Terminology ................................................6
      1.2. Notational Conventions .....................................7
      1.3. XML Namespaces and Processing ..............................7
   2. Scheduling Support ..............................................8
      2.1. Scheduling Outbox Collection ...............................9
           2.1.1. CALDAV:schedule-outbox-URL Property ................10
      2.2. Scheduling Inbox Collection ...............................10
           2.2.1. CALDAV:schedule-inbox-URL Property .................11
      2.3. Calendaring Reports Extensions ............................12
      2.4. Additional Principal Properties ...........................12
           2.4.1. CALDAV:calendar-user-address-set Property ..........12
           2.4.2. CALDAV:calendar-user-type Property .................13
   3. Scheduling Operations ..........................................14
      3.1. Identifying Scheduling Object Resources ...................14
      3.2. Handling Scheduling Object Resources ......................15
           3.2.1. Organizer Scheduling Object Resources ..............15
                  3.2.1.1. Create ....................................16
                  3.2.1.2. Modify ....................................17
                  3.2.1.3. Remove ....................................18
           3.2.2. Attendee Scheduling Object Resources ...............18
                  3.2.2.1. Allowed "Attendee" Changes ................18
                  3.2.2.2. Create ....................................19
                  3.2.2.3. Modify ....................................20
                  3.2.2.4. Remove ....................................21
           3.2.3. HTTP Methods .......................................21
                  3.2.3.1. PUT .......................................22
                  3.2.3.2. DELETE ....................................22
                  3.2.3.3. COPY ......................................23
                  3.2.3.4. MOVE ......................................24
        
           3.2.4. Additional Method Preconditions ....................24
                  3.2.4.1. CALDAV:unique-scheduling-object-resource
                           Precondition ..............................24
                  3.2.4.2. CALDAV:same-organizer-in-all-components
                           Precondition ..............................25
                  3.2.4.3. CALDAV:allowed-organizer-scheduling-
                              object-change Precondition .............25
                  3.2.4.4. CALDAV:allowed-attendee-scheduling-
                              object-change Precondition .............26
           3.2.5. DTSTAMP and SEQUENCE Properties ....................26
           3.2.6. Restrict Recurrence Instances Sent to "Attendees" ..27
           3.2.7. Forcing the Server to Send a Scheduling Message ....27
           3.2.8. "Attendee" Participation Status ....................28
           3.2.9. Schedule Status Values .............................29
           3.2.10. Avoiding Conflicts when Updating Scheduling Object
                   Resources .........................................31
                   3.2.10.1. PUT .....................................33
                   3.2.10.2. DELETE, COPY, or MOVE ...................33
   4. Processing Incoming Scheduling Messages ........................34
      4.1. Processing "Organizer" Requests, Additions, and
           Cancellations .............................................34
      4.2. Processing "Attendee" Replies .............................35
      4.3. Default Calendar Collection ...............................35
           4.3.1. Additional Method Preconditions ....................36
                  4.3.1.1. CALDAV:default-calendar-needed
                           Precondition ..............................36
                  4.3.1.2. CALDAV:valid-schedule-default-calendar-URL
                           Precondition ..............................36
   5. Request for Busy Time Information ..............................37
      5.1. Status Codes ..............................................38
      5.2. Additional Method Preconditions ...........................38
           5.2.1. CALDAV:valid-scheduling-message Precondition .......38
           5.2.2. CALDAV:valid-organizer Precondition ................39
   6. Scheduling Privileges ..........................................39
      6.1. Privileges on Scheduling Inbox Collections ................39
           6.1.1. CALDAV:schedule-deliver Privilege ..................40
           6.1.2. CALDAV:schedule-deliver-invite Privilege ...........40
           6.1.3. CALDAV:schedule-deliver-reply Privilege ............40
           6.1.4. CALDAV:schedule-query-freebusy Privilege ...........40
      6.2. Privileges on Scheduling Outbox Collections ...............40
           6.2.1. CALDAV:schedule-send Privilege .....................41
           6.2.2. CALDAV:schedule-send-invite Privilege ..............41
           6.2.3. CALDAV:schedule-send-reply Privilege ...............41
           6.2.4. CALDAV:schedule-send-freebusy Privilege ............41
      6.3. Aggregation of Scheduling Privileges ......................42
        
   7. Additional iCalendar Property Parameters .......................42
      7.1. Schedule Agent Parameter ..................................42
      7.2. Schedule Force Send Parameter .............................44
      7.3. Schedule Status Parameter .................................45
   8. Additional Message Header Fields ...............................46
      8.1. Schedule-Reply Request Header .............................46
      8.2. Schedule-Tag Response Header ..............................46
      8.3. If-Schedule-Tag-Match Request Header ......................47
   9. Additional WebDAV Properties ...................................47
      9.1. CALDAV:schedule-calendar-transp Property ..................47
      9.2. CALDAV:schedule-default-calendar-URL Property .............48
      9.3. CALDAV:schedule-tag Property ..............................49
   10. XML Element Definitions .......................................50
      10.1. CALDAV:schedule-response XML Element .....................50
      10.2. CALDAV:response XML Element ..............................50
      10.3. CALDAV:recipient XML Element .............................50
      10.4. CALDAV:request-status XML Element ........................51
   11. Security Considerations .......................................51
      11.1. Preventing Denial-of-Service Attacks .....................51
      11.2. Verifying Scheduling Operations ..........................52
      11.3. Verifying Busy Time Information Requests .................52
      11.4. Privacy Issues ...........................................53
      11.5. Mitigation of iTIP Threats ...............................53
   12. IANA Considerations ...........................................54
      12.1. Message Header Field Registrations .......................54
           12.1.1. Schedule-Reply ....................................54
           12.1.2. Schedule-Tag ......................................54
           12.1.3. If-Schedule-Tag-Match .............................54
      12.2. iCalendar Property Parameter Registrations ...............55
      12.3. iCalendar REQUEST-STATUS Value Registrations .............55
      12.4. Additional iCalendar Elements Registries .................55
           12.4.1. Schedule Agent Values Registry ....................56
           12.4.2. Schedule Force Send Values Registry ...............56
   13. Acknowledgements ..............................................56
   14. References ....................................................57
      14.1. Normative References .....................................57
      14.2. Informative References ...................................58
        
   Appendix A. Scheduling Privileges Summary .........................59
     A.1. Scheduling Inbox Privileges ................................59
     A.2. Scheduling Outbox Privileges ...............................60
   Appendix B. Example Scheduling Operations .........................60
     B.1. Example: "Organizer" Inviting Multiple "Attendees" .........61
     B.2. Example: "Attendee" Receiving an Invitation ................63
     B.3. Example: "Attendee" Replying to an Invitation ..............64
     B.4. Example: "Organizer" Receiving a Reply to an Invitation ....66
     B.5. Example: "Organizer" Requesting Busy Time Information ......69
     B.6. Example: User Attempting to Invite "Attendee" on
          Behalf of "Organizer" ......................................71
     B.7. Example: "Attendee" Declining an Instance of a
          Recurring Event ............................................72
     B.8. Example: "Attendee" Removing an Instance of a
          Recurring Event ............................................75
        
1. Introduction
1. はじめに

This document specifies extensions to the CalDAV "calendar-access" [RFC4791] feature to enable scheduling of iCalendar-based [RFC5545] calendar components between calendar users.

このドキュメントでは、カレンダーユーザー間でiCalendarベースの[RFC5545]カレンダーコンポーネントをスケジュールできるようにする、CalDAV "calendar-access" [RFC4791]機能の拡張について説明します。

This extension leverages the scheduling methods defined in the iCalendar Transport-independent Interoperability Protocol (iTIP) [RFC5546] to permit calendar users to perform scheduling operations such as schedule, reschedule, respond to scheduling request, or cancel calendar components, as well as search for busy time information. However, the following iTIP [RFC5546] features are not covered: publishing, countering, delegating, refreshing, and forwarding calendar components, as well as replacing the "Organizer" of a calendar component. It is expected that future extensions will be developed to address these.

この拡張機能は、iCalendar Transport-independent Interoperability Protocol(iTIP)[RFC5546]で定義されたスケジューリングメソッドを活用して、カレンダーユーザーがスケジュール、再スケジュール、スケジューリングリクエストへの応答、またはカレンダーコンポーネントのキャンセルなどのスケジューリング操作を実行できるようにし、さらに忙しい時間情報。ただし、次のiTIP [RFC5546]機能は対象外です:カレンダーコンポーネントの公開、カウンター、委任、更新、転送、およびカレンダーコンポーネントの「オーガナイザー」の置き換え。これらに対処するために、将来の拡張機能が開発されることが期待されています。

This specification defines a client/server scheduling protocol, where the server is made responsible for sending scheduling messages and processing incoming scheduling messages. The client operations of creating, modifying, or deleting a calendar component in a calendar are enough to trigger the server to deliver the necessary scheduling messages to the appropriate calendar users. This approach is sometimes referred to as "implicit scheduling".

この仕様は、クライアント/サーバースケジューリングプロトコルを定義します。サーバーは、スケジューリングメッセージの送信と着信スケジューリングメッセージの処理を担当します。カレンダーのカレンダーコンポーネントを作成、変更、または削除するクライアント操作は、サーバーが適切なカレンダーユーザーに必要なスケジュールメッセージを配信するのをトリガーするのに十分です。このアプローチは、「暗黙のスケジューリング」と呼ばれることもあります。

This specification only addresses how scheduling occurs with users on a single system (i.e., scheduling between CalDAV servers, or some other calendaring and scheduling system, is not defined). However, this specification is compatible with servers being able to send or receive scheduling messages with "external" users (e.g., using the iCalendar Message-Based Interoperability Protocol (iMIP) [RFC6047]).

この仕様は、単一のシステムのユーザーでスケジューリングがどのように発生するかのみを扱います(つまり、CalDAVサーバー間のスケジューリング、または他のカレンダーおよびスケジューリングシステムは定義されていません)。ただし、この仕様は、「外部」ユーザーとのスケジューリングメッセージの送受信が可能なサーバーと互換性があります(たとえば、iCalendarメッセージベースの相互運用プロトコル(iMIP)[RFC6047]を使用)。

Section 3 defines the automated "Scheduling Operations" that allow a client to store iCalendar data on a CalDAV server, with the server taking specific actions in response. One of three scheduling operations can take place -- "create", "modify", or "remove", based on the HTTP method used for the request -- in addition to a comparison between any existing and any new iCalendar data.

セクション3では、クライアントがCalDAVサーバーにiCalendarデータを保存し、サーバーが応答として特定のアクションを実行できるようにする、自動化された「スケジューリング操作」を定義しています。既存のiCalendarデータと新しいiCalendarデータの比較に加えて、3つのスケジューリング操作(リクエストに使用されるHTTPメソッドに基づいて「作成」、「変更」、または「削除」)の1つを実行できます。

Section 4 defines how the server processes scheduling messages sent as the result of a scheduling operation.

セクション4では、スケジューリング操作の結果として送信されたスケジューリングメッセージをサーバーが処理する方法を定義します。

Section 5 defines how freebusy requests with an immediate response are accomplished.

セクション5では、即時応答のあるフリービジー要求がどのように実行されるかを定義します。

Section 6 defines access control privileges for the scheduling operations defined in this specification.

セクション6では、この仕様で定義されているスケジューリング操作のアクセス制御特権を定義します。

For the majority of the following discussion, scheduling of events will be discussed. However, scheduling of to-dos is also fully supported by this specification.

以下の説明の大部分では、イベントのスケジューリングについて説明します。ただし、to-doのスケジューリングもこの仕様で完全にサポートされています。

This specification has been under development for a number of years, and most current implementations of CalDAV support it. With the publication of this document, it is expected that all new CalDAV implementations will support it by default. Interoperability tests have been performed regularly. Significant issues with incompatible CalDAV implementations are not anticipated.

この仕様は何年もの間開発中であり、CalDAVの現在のほとんどの実装はそれをサポートしています。このドキュメントの公開により、すべての新しいCalDAV実装がデフォルトでそれをサポートすることが期待されます。相互運用性テストは定期的に実施されています。互換性のないCalDAV実装に関する重大な問題は予期されていません。

1.1. Terminology
1.1. 用語

This specification reuses much of the same terminology as iCalendar [RFC5545], iTIP [RFC5546], WebDAV [RFC4918], and CalDAV [RFC4791]. Additional terms used by this specification are as follows:

この仕様は、iCalendar [RFC5545]、iTIP [RFC5546]、WebDAV [RFC4918]、およびCalDAV [RFC4791]と同じ用語の多くを再利用しています。この仕様で使用される追加の用語は次のとおりです。

Scheduling object resource: A calendar object resource contained in a calendar collection for which the server will take care of sending scheduling messages on behalf of the owner of the calendar collection.

スケジュールオブジェクトリソース:サーバーがカレンダーコレクションの所有者に代わってスケジュールメッセージの送信を処理するカレンダーコレクションに含まれるカレンダーオブジェクトリソース。

Organizer scheduling object resource: A scheduling object resource owned by the "Organizer".

オーガナイザスケジューリングオブジェクトリソース:「オーガナイザ」が所有するスケジューリングオブジェクトリソース。

Attendee scheduling object resource: A scheduling object resource owned by an "Attendee".

参加者スケジューリングオブジェクトリソース:「参加者」が所有するスケジューリングオブジェクトリソース。

Scheduling operation: Add, change, or remove operations on a scheduling object resource for which the server will deliver scheduling messages to other calendar users.

スケジュール操作:サーバーが他のカレンダーユーザーにスケジュールメッセージを配信するスケジュールオブジェクトリソースに対する操作を追加、変更、または削除します。

Scheduling message: A calendar object that describes a scheduling operation such as schedule, reschedule, reply, or cancel.

スケジュールメッセージ:スケジュール、再スケジュール、返信、キャンセルなどのスケジュール操作を説明するカレンダーオブジェクト。

Scheduling Outbox collection: A resource at which busy time information requests are targeted.

送信トレイコレクションのスケジュール:ビジー時間の情報要求が対象とするリソース。

Scheduling Inbox collection: A collection in which incoming scheduling messages are delivered.

スケジュール受信ボックスコレクション:受信したスケジュールメッセージが配信されるコレクション。

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 [RFC2119].

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

The Augmented BNF (ABNF) syntax used by this document to specify the format definition of new iCalendar elements is defined in [RFC5234].

このドキュメントで新しいiCalendar要素のフォーマット定義を指定するために使用される拡張BNF(ABNF)構文は、[RFC5234]で定義されています。

The ABNF syntax used by this document to specify the format definition of new message header fields to be used with the HTTP/1.1 protocol is described in Section 2.1 of [RFC2616]. Since this Augmented BNF uses the basic production rules provided in Section 2.2 of [RFC2616], these rules apply to this document as well.

このドキュメントでHTTP / 1.1プロトコルで使用される新しいメッセージヘッダーフィールドのフォーマット定義を指定するために使用されるABNF構文は、[RFC2616]のセクション2.1で説明されています。この拡張BNFは、[RFC2616]のセクション2.2で提供される基本的な制作ルールを使用するため、これらのルールはこのドキュメントにも適用されます。

The term "protected" is used in the Conformance field of WebDAV property definitions as defined in Section 15 of [RFC4918].

[保護された]という用語は、[RFC4918]のセクション15で定義されているWebDAVプロパティ定義の[適合性]フィールドで使用されています。

Calendaring and scheduling roles are referred to in quoted-strings of text with the first character of each word in uppercase. For example, "Organizer" refers to a role of a calendar user within the scheduling protocol defined by [RFC5546].

カレンダーとスケジュールの役割は、各単語の最初の文字を大文字にしたテキストの引用文字列で参照されます。たとえば、「Organizer」は、[RFC5546]で定義されたスケジューリングプロトコル内のカレンダーユーザーの役割を指します。

1.3. XML Namespaces and Processing
1.3. XML名前空間と処理

This document uses XML DTD fragments ([W3C.REC-xml-20081126], Section 3.2) as a purely notational convention. WebDAV request and response bodies cannot be validated by a DTD due to the specific extensibility rules defined in Section 17 of [RFC4918] and due to the fact that all XML elements defined by that specification use the XML namespace name "DAV:". In particular,

このドキュメントでは、純粋な表記規則としてXML DTDフラグメント([W3C.REC-xml-20081126]、セクション3.2)を使用します。 [RFC4918]のセクション17で定義されている特定の拡張性ルールと、その仕様で定義されているすべてのXML要素がXML名前空間名「DAV:」を使用しているため、WebDAVリクエストとレスポンスの本文はDTDで検証できません。特に、

1. element names use the "DAV:" namespace,

1. 要素名は「DAV:」名前空間を使用し、

2. element ordering is irrelevant unless explicitly stated, 3. extension elements (elements not already defined as valid child elements) can be added anywhere, except when explicitly stated otherwise, and

2.明示的に指定されていない限り、要素の順序は関係ありません。3。特に明示されていない限り、拡張要素(有効な子要素としてまだ定義されていない要素)はどこにでも追加できます。

4. extension attributes (attributes not already defined as valid for this element) can be added anywhere, except when explicitly stated otherwise.

4. 特に明記されていない限り、拡張属性(この要素に対して有効であるとまだ定義されていない属性)はどこにでも追加できます。

The XML elements specified in this document are defined in the "urn:ietf:params:xml:ns:caldav" XML namespace registered by CalDAV [RFC4791].

このドキュメントで指定されているXML要素は、CalDAV [RFC4791]によって登録された「urn:ietf:params:xml:ns:caldav」XML名前空間で定義されています。

When XML element types in the namespaces "DAV:" and "urn:ietf:params:xml:ns:caldav" are referenced in this document outside of the context of an XML fragment, the strings "DAV:" and "CALDAV:" will be prefixed to the element types, respectively.

名前空間「DAV:」および「urn:ietf:params:xml:ns:caldav」のXML要素タイプが、XMLフラグメントのコンテキスト外でこのドキュメントで参照されている場合、文字列「DAV:」および「CALDAV:」要素タイプにそれぞれ接頭辞が付けられます。

This document inherits, and sometimes extends, DTD productions from Section 14 of [RFC4918].

このドキュメントは、[RFC4918]のセクション14のDTDプロダクションを継承し、場合によっては拡張します。

Also note that some CalDAV XML element names are identical to WebDAV XML element names, though their namespace differs. Care needs to be taken not to confuse the two sets of names.

また、一部のCalDAV XML要素名はWebDAV XML要素名と同じですが、名前空間は異なります。 2組の名前を混同しないように注意する必要があります。

2. Scheduling Support
2. スケジューリングサポート

A server that supports the features described in this document is REQUIRED to support the CalDAV "calendar-access" [RFC4791] feature. Servers include "calendar-auto-schedule" as a field in the DAV response header from an OPTIONS request on any resource that supports any scheduling operations, properties, privileges, or methods.

このドキュメントで説明されている機能をサポートするサーバーは、CalDAVの "calendar-access" [RFC4791]機能をサポートするために必要です。サーバーには、任意のスケジューリング操作、プロパティ、特権、またはメソッドをサポートする任意のリソースに対するOPTIONS要求からのDAV応答ヘッダーのフィールドとして「calendar-auto-schedule」が含まれています。

This specification introduces new collection resource types that are used to manage scheduling object resources, and scheduling privileges (as per Section 6), as well as provide scheduling functionality. It is the server's responsibility to create these collection resources, and clients have no way to create or delete them.

この仕様では、スケジューリングオブジェクトリソースの管理に使用される新しいコレクションリソースタイプとスケジューリング特権(セクション6による)が導入され、スケジューリング機能が提供されています。これらのコレクションリソースを作成するのはサーバーの責任であり、クライアントはそれらを作成または削除する方法がありません。

2.1. Scheduling Outbox Collection
2.1. 送信トレイコレクションのスケジュール

A scheduling Outbox collection is used as the target for busy time information requests, and to manage privileges that apply to outgoing scheduling requests.

スケジュール送信ボックスコレクションは、ビジー時間情報要求のターゲットとして使用され、送信スケジュール要求に適用される特権を管理します。

A scheduling Outbox collection MUST report the DAV:collection and CALDAV:schedule-outbox XML elements in the value of the DAV: resourcetype property. The element type declaration for CALDAV: schedule-outbox is

スケジューリングOutboxコレクションは、DAV:resourcetypeプロパティの値でDAV:collectionおよびCALDAV:schedule-outbox XML要素を報告する必要があります。 CALDAVの要素型宣言:schedule-outboxは

     <!ELEMENT schedule-outbox EMPTY>
        

Example:

例:

     <D:resourcetype xmlns:D="DAV:">
       <D:collection/>
       <C:schedule-outbox xmlns:C="urn:ietf:params:xml:ns:caldav"/>
     </D:resourcetype>
        

A scheduling Outbox collection MUST NOT be a child (at any depth) of a calendar collection resource.

スケジュールする送信トレイコレクションは、カレンダーコレクションリソースの子であってはなりません(任意の深さ)。

The following WebDAV properties specified in CalDAV "calendar-access" [RFC4791] MAY also be defined on scheduling Outbox collections and apply to scheduling messages submitted to the scheduling Outbox collection with the POST method:

CalDAV "calendar-access" [RFC4791]で指定されている次のWebDAVプロパティは、送信トレイコレクションのスケジュールにも定義でき、POSTメソッドを使用して送信トレイコレクションに送信されたメッセージのスケジュールに適用できます。

o CALDAV:supported-calendar-component-set

o CALDAV:supported-calendar-component-set

o CALDAV:supported-calendar-data

o CALDAV:supported-calendar-data

o CALDAV:max-resource-size

o CALDAV:max-resource-size

o CALDAV:min-date-time

o CALDAV:min-date-time

o CALDAV:max-date-time

o CALDAV:max-date-time

o CALDAV:max-attendees-per-instance

o CALDAV:max-attendees-per-instance

The use of child resources in a scheduling Outbox collection is reserved for future revisions or extensions of this specification.

スケジューリングOutboxコレクションでの子リソースの使用は、この仕様の将来の改訂または拡張のために予約されています。

The following WebDAV property is defined on principal resources and used to locate the corresponding Outbox collection for the associated principal.

次のWebDAVプロパティはプリンシパルリソースで定義され、関連付けられたプリンシパルの対応する送信トレイコレクションを見つけるために使用されます。

2.1.1. CALDAV:schedule-outbox-URL Property
2.1.1. CALDAV:schedule-outbox-URLプロパティ

Name: schedule-outbox-URL

名前:schedule-outbox-URL

   Namespace:  urn:ietf:params:xml:ns:caldav
        

Purpose: Identify the URL of the scheduling Outbox collection owned by the associated principal resource.

目的:関連するプリンシパルリソースが所有するスケジュール送信トレイコレクションのURLを特定します。

Protected: This property MAY be protected.

保護:このプロパティは保護される場合があります。

PROPFIND behavior: This property SHOULD NOT be returned by a PROPFIND DAV:allprop request (as defined in Section 14.2 of [RFC4918]).

PROPFINDの動作:このプロパティは、PROPFIND DAV:allpropリクエスト([RFC4918]のセクション14.2で定義)によって返されるべきではありません(SHOULD NOT)。

COPY/MOVE behavior: This property value SHOULD be preserved in COPY and MOVE operations.

COPY / MOVE動作:このプロパティ値は、COPYおよびMOVE操作で保存する必要があります(SHOULD)。

Description: This property is needed for a client to determine where the scheduling Outbox collection of the current user is located so that sending of scheduling messages can occur. If not present, then the associated calendar user is not enabled for the sending of scheduling messages on the server.

説明:このプロパティは、クライアントが現在のユーザーのスケジューリング送信トレイコレクションがどこにあるかを判断して、スケジューリングメッセージの送信が発生するようにするために必要です。存在しない場合、関連付けられたカレンダユーザーは、サーバーでのスケジューリングメッセージの送信が有効になっていません。

Definition:

定義:

     <!ELEMENT schedule-outbox-URL (DAV:href)>
        
2.2. Scheduling Inbox Collection
2.2. 受信ボックスコレクションのスケジュール

A scheduling Inbox collection contains copies of incoming scheduling messages. These can be requests sent by an "Organizer", or replies sent by an "Attendee" in response to a request. The scheduling Inbox collection is also used to manage scheduling privileges.

スケジュール受信ボックスコレクションには、受信スケジュールメッセージのコピーが含まれます。これらは、「主催者」によって送信された要求、または要求への応答として「参加者」によって送信された応答です。スケジュール受信ボックスコレクションは、スケジュール特権の管理にも使用されます。

A scheduling Inbox collection MUST report the DAV:collection and CALDAV:schedule-inbox XML elements in the value of the DAV: resourcetype property. The element type declaration for CALDAV: schedule-inbox is

スケジュール受信ボックスコレクションは、DAV:resourcetypeプロパティの値でDAV:collectionおよびCALDAV:schedule-inbox XML要素を報告する必要があります。 CALDAVの要素タイプ宣言:schedule-inboxは

     <!ELEMENT schedule-inbox EMPTY>
        

Example:

例:

     <D:resourcetype xmlns:D="DAV:">
       <D:collection/>
       <C:schedule-inbox xmlns:C="urn:ietf:params:xml:ns:caldav"/>
     </D:resourcetype>
        

Scheduling Inbox collections MUST only contain calendar object resources that obey the restrictions specified in iTIP [RFC5546]. Consequently, scheduling Inbox collections MUST NOT contain any types of collection resources. Restrictions defined in Section 4.1 of CalDAV "calendar-access" [RFC4791] on calendar object resources contained in calendar collections (e.g., Unique Identifier ("UID") uniqueness) do not apply to calendar object resources contained in a scheduling Inbox collection. Thus, multiple calendar object resources contained in a scheduling Inbox collection can have the same "UID" property value (i.e., multiple scheduling messages for the same calendar component).

受信トレイコレクションのスケジュールには、iTIP [RFC5546]で指定された制限に従うカレンダーオブジェクトリソースのみを含める必要があります。したがって、スケジュールされた受信ボックスコレクションには、いかなるタイプのコレクションリソースも含めてはなりません。 CalDAV "calendar-access" [RFC4791]のセクション4.1で定義された、カレンダーコレクションに含まれるカレンダーオブジェクトリソースに関する制限(例:一意の識別子( "UID")の一意性)は、スケジュール受信ボックスコレクションに含まれるカレンダーオブジェクトリソースには適用されません。したがって、スケジュール受信ボックスコレクションに含まれる複数のカレンダーオブジェクトリソースは、同じ「UID」プロパティ値を持つことができます(つまり、同じカレンダーコンポーネントの複数のスケジュールメッセージ)。

A scheduling Inbox collection MUST NOT be a child (at any depth) of a calendar collection resource.

スケジュール設定された受信トレイコレクションは、カレンダーコレクションリソースの子であってはなりません(任意の深さ)。

The following WebDAV properties specified in CalDAV "calendar-access" [RFC4791] MAY also be defined on scheduling Inbox collections and apply to scheduling messages delivered to the collection:

CalDAV "calendar-access" [RFC4791]で指定されている次のWebDAVプロパティも、受信トレイコレクションのスケジュールで定義され、コレクションに配信されるメッセージのスケジュールに適用される場合があります。

o CALDAV:supported-calendar-component-set

o CALDAV:supported-calendar-component-set

o CALDAV:supported-calendar-data

o CALDAV:supported-calendar-data

o CALDAV:max-resource-size

o CALDAV:max-resource-size

o CALDAV:min-date-time

o CALDAV:min-date-time

o CALDAV:max-date-time

o CALDAV:max-date-time

o CALDAV:max-instances

o CALDAV:max-instances

o CALDAV:max-attendees-per-instance

o CALDAV:max-attendees-per-instance

o CALDAV:calendar-timezone

o CALDAV:calendar-timezone

The following WebDAV property is defined on principal resources and used to locate the corresponding Inbox collection for the associated principal.

次のWebDAVプロパティはプリンシパルリソースで定義され、関連付けられたプリンシパルの対応する受信トレイコレクションを見つけるために使用されます。

2.2.1. CALDAV:schedule-inbox-URL Property
2.2.1. CALDAV:schedule-inbox-URLプロパティ

Name: schedule-inbox-URL

名前:schedule-inbox-URL

   Namespace:  urn:ietf:params:xml:ns:caldav
        

Purpose: Identify the URL of the scheduling Inbox collection owned by the associated principal resource.

目的:関連するプリンシパルリソースが所有するスケジュール受信ボックスコレクションのURLを特定します。

Protected: This property MAY be protected.

保護:このプロパティは保護される場合があります。

PROPFIND behavior: This property SHOULD NOT be returned by a PROPFIND DAV:allprop request (as defined in Section 14.2 of [RFC4918]).

PROPFINDの動作:このプロパティは、PROPFIND DAV:allpropリクエスト([RFC4918]のセクション14.2で定義)によって返されるべきではありません(SHOULD NOT)。

COPY/MOVE behavior: This property value SHOULD be preserved in COPY and MOVE operations.

COPY / MOVE動作:このプロパティ値は、COPYおよびMOVE操作で保存する必要があります(SHOULD)。

Description: This property allows a client to determine where the scheduling Inbox collection of the current user is located so that processing of scheduling messages can occur. If not present, then the associated calendar user is not enabled for reception of scheduling messages on the server.

説明:このプロパティを使用すると、クライアントは、現在のユーザーのスケジュール受信トレイコレクションがどこにあるかを判断できるため、スケジュールメッセージの処理を実行できます。存在しない場合、関連付けられたカレンダユーザーは、サーバーでのスケジューリングメッセージの受信が有効になっていません。

Definition:

定義:

     <!ELEMENT schedule-inbox-URL (DAV:href)>
        
2.3. Calendaring Reports Extensions
2.3. カレンダーレポート拡張機能

This specification extends the CALDAV:calendar-query and CALDAV: calendar-multiget REPORTs to return results for calendar object resources in scheduling Inbox collections.

この仕様は、CALDAV:calendar-queryおよびCALDAV:calendar-multiget REPORTsを拡張して、スケジュールされた受信ボックスコレクション内のカレンダーオブジェクトリソースの結果を返します。

When a CALDAV:calendar-query REPORT includes a time-range query and targets a scheduling Inbox collection, if any calendar object resources contain "VEVENT" calendar components that do not include a "DTSTART" iCalendar property (as allowed by iTIP [RFC5546]) then such components MUST always match the time-range query test.

CALDAV:calendar-query REPORTに時間範囲クエリが含まれ、スケジューリング受信トレイコレクションを対象とする場合、「DTSTART」iCalendarプロパティを含まない「VEVENT」カレンダーコンポーネントがカレンダーオブジェクトリソースに含まれている場合(iTIPで許可されている[RFC5546]) )次に、そのようなコンポーネントは常に時間範囲クエリテストと一致する必要があります。

Note that the CALDAV:free-busy-query REPORT is not supported on scheduling Inbox collections.

CALDAV:free-busy-query REPORTは、受信トレイコレクションのスケジュールではサポートされていないことに注意してください。

2.4. Additional Principal Properties
2.4. 追加の主要プロパティ

This section defines new properties for WebDAV principal resources as defined in [RFC3744]. These properties are likely to be protected, but the server MAY allow them to be written by appropriate users.

このセクションでは、[RFC3744]で定義されているWebDAVプリンシパルリソースの新しいプロパティを定義します。これらのプロパティは保護される可能性がありますが、サーバーは適切なユーザーがそれらを書き込むことを許可する場合があります。

2.4.1. CALDAV:calendar-user-address-set Property
2.4.1. CALDAV:calendar-user-address-setプロパティ

Name: calendar-user-address-set

名前:カレンダーユーザーアドレスセット

   Namespace:  urn:ietf:params:xml:ns:caldav
        

Purpose: Identify the calendar addresses of the associated principal resource.

目的:関連する主要リソースのカレンダーアドレスを特定します。

Protected: This property MAY be protected.

保護:このプロパティは保護される場合があります。

PROPFIND behavior: This property SHOULD NOT be returned by a PROPFIND DAV:allprop request (as defined in Section 14.2 of [RFC4918]).

PROPFINDの動作:このプロパティは、PROPFIND DAV:allpropリクエスト([RFC4918]のセクション14.2で定義)によって返されるべきではありません(SHOULD NOT)。

COPY/MOVE behavior: This property value SHOULD be preserved in COPY and MOVE operations.

COPY / MOVE動作:このプロパティ値は、COPYおよびMOVE操作で保存する必要があります(SHOULD)。

Description: Support for this property is REQUIRED. This property is needed to map calendar user addresses in iCalendar data to principal resources and their associated scheduling Inbox and Outbox collections. In the event that a user has no well-defined identifier for his calendar user address, the URI of his principal resource can be used. This property SHOULD be searchable using the DAV:principal-property-search REPORT. The DAV:principal-search-property-set REPORT SHOULD identify this property as such. If not present, then the associated calendar user is not enabled for scheduling on the server.

説明:このプロパティのサポートは必須です。このプロパティは、iCalendarデータ内のカレンダーユーザーアドレスを主要リソースとそれに関連付けられたスケジューリング受信トレイおよび送信トレイコレクションにマップするために必要です。ユーザーが自分のカレンダーユーザーアドレスの明確に定義された識別子を持っていない場合、彼の主要なリソースのURIを使用できます。このプロパティは、DAV:principal-property-search REPORTを使用して検索可能にする必要があります(SHOULD)。 DAV:principal-search-property-set REPORTは、このプロパティをそのように識別する必要があります。存在しない場合、関連付けられたカレンダユーザーはサーバーでのスケジューリングが有効になっていません。

Definition:

定義:

     <!ELEMENT calendar-user-address-set (DAV:href*)>
        

Example:

例:

     <C:calendar-user-address-set xmlns:D="DAV:"
         xmlns:C="urn:ietf:params:xml:ns:caldav">
       <D:href>mailto:bernard@example.com</D:href>
       <D:href>mailto:bernard.desruisseaux@example.com</D:href>
     </C:calendar-user-address-set>
        
2.4.2. CALDAV:calendar-user-type Property
2.4.2. CALDAV:calendar-user-typeプロパティ

Name: calendar-user-type

名前:カレンダーユーザータイプ

   Namespace:  urn:ietf:params:xml:ns:caldav
        

Purpose: Identifies the calendar user type of the associated principal resource.

目的:関連するプリンシパルリソースのカレンダーユーザータイプを識別します。

Value: Same values allowed for the iCalendar "CUTYPE" property parameter defined in Section 3.2.3 of [RFC5545].

値:[RFC5545]のセクション3.2.3で定義されているiCalendar "CUTYPE"プロパティパラメータに許可されているのと同じ値。

Protected: This property MAY be protected.

保護:このプロパティは保護される場合があります。

PROPFIND behavior: This property SHOULD NOT be returned by a PROPFIND DAV:allprop request (as defined in Section 14.2 of [RFC4918]).

PROPFINDの動作:このプロパティは、PROPFIND DAV:allpropリクエスト([RFC4918]のセクション14.2で定義)によって返されるべきではありません(SHOULD NOT)。

COPY/MOVE behavior: This property value SHOULD be preserved in COPY and MOVE operations.

COPY / MOVE動作:このプロパティ値は、COPYおよびMOVE操作で保存する必要があります(SHOULD)。

Description: Clients can query principal resources in order to look up "Attendees" available on the server. When doing this, it is useful to know, or restrict the query to, certain types of calendar users (e.g., only search for "people", or only search for "rooms"). This property MAY be defined on principal resources to indicate the type of calendar user associated with the principal resource. Its value is the same as the iCalendar "CUTYPE" property parameter that can be used on "ATTENDEE" properties. This property SHOULD be searchable using the DAV:principal-property-search REPORT. The DAV:principal-search-property-set REPORT SHOULD identify this property as such.

説明:クライアントは、サーバーで利用可能な「参加者」を検索するために、主要リソースにクエリを実行できます。これを行うとき、特定のタイプのカレンダーユーザーを知るか、またはクエリを制限することは有用です(たとえば、「人」のみを検索するか、「部屋」のみを検索します)。このプロパティは、プリンシパルリソースに関連付けられたカレンダーユーザーのタイプを示すために、プリンシパルリソースで定義される場合があります。その値は、「ATTENDEE」プロパティで使用できるiCalendarの「CUTYPE」プロパティパラメータと同じです。このプロパティは、DAV:principal-property-search REPORTを使用して検索可能にする必要があります(SHOULD)。 DAV:principal-search-property-set REPORTは、このプロパティをそのように識別する必要があります。

Definition:

定義:

     <!ELEMENT calendar-user-type (#PCDATA)>
        

Example:

例:

     <C:calendar-user-type
         xmlns:C="urn:ietf:params:xml:ns:caldav">INDIVIDUAL<
     /C:calendar-user-type>
        
3. Scheduling Operations
3. 工程のスケジューリング

When a calendar object resource is created, modified, or removed from a calendar collection, the server examines the calendar data and checks to see whether the data represents a scheduling object resource. If it does, the server will automatically attempt to deliver a scheduling message to the appropriate calendar users. Several types of scheduling operations can occur in this case, equivalent to iTIP "REQUEST", "REPLY", "CANCEL", and "ADD" operations.

カレンダーオブジェクトリソースが作成、変更、またはカレンダーコレクションから削除されると、サーバーはカレンダーデータを調べ、データがスケジュールオブジェクトリソースを表すかどうかを確認します。サポートしている場合、サーバーは自動的に適切なカレンダーユーザーにスケジュールメッセージを配信しようとします。この場合、いくつかのタイプのスケジューリング操作が発生する可能性があり、iTIPの「REQUEST」、「REPLY」、「CANCEL」、および「ADD」操作と同等です。

3.1. Identifying Scheduling Object Resources
3.1. スケジュールオブジェクトリソースの識別

Calendar object resources on which the server performs scheduling operations are referred to as scheduling object resources. There are two types of scheduling object resources: organizer scheduling object resources, and attendee scheduling object resources.

サーバーがスケジュール操作を実行するカレンダーオブジェクトリソースは、スケジュールオブジェクトリソースと呼ばれます。スケジューリングオブジェクトリソースには、主催者スケジューリングオブジェクトリソースと出席者スケジューリングオブジェクトリソースの2種類があります。

A calendar object resource is considered to be a valid organizer scheduling object resource if the "ORGANIZER" iCalendar property is present and set in all the calendar components to a value that matches one of the calendar user addresses of the owner of the calendar collection.

「ORGANIZER」iCalendarプロパティが存在し、すべてのカレンダーコンポーネントでカレンダーコレクションの所有者のカレンダーユーザーアドレスのいずれかに一致する値に設定されている場合、カレンダーオブジェクトリソースは有効なオーガナイザースケジューリングオブジェクトリソースと見なされます。

A calendar object resource is considered to be a valid attendee scheduling object resource if the "ORGANIZER" iCalendar property is present and set in all the calendar components to the same value and doesn't match one of the calendar user addresses of the owner of the calendar collection, and if at least one of the "ATTENDEE" iCalendar property values matches one of the calendar user addresses of the owner of the calendar collection.

「ORGANIZER」のiCalendarプロパティが存在し、すべてのカレンダーコンポーネントで同じ値に設定され、カレンダーの所有者のカレンダーユーザーアドレスのいずれとも一致しない場合、カレンダーオブジェクトリソースは有効な出席者スケジュールオブジェクトリソースと見なされますカレンダーコレクション、および「ATTENDEE」iCalendarプロパティ値の少なくとも1つがカレンダーコレクションの所有者のカレンダーユーザーアドレスの1つと一致する場合。

The creation of attendee scheduling object resources is typically done by the server, with the resource being created in an appropriate calendar collection (see Section 4.3).

出席者スケジュールオブジェクトリソースの作成は、通常サーバーによって行われ、リソースは適切なカレンダーコレクションに作成されます(セクション4.3を参照)。

3.2. Handling Scheduling Object Resources
3.2. スケジューリングオブジェクトリソースの処理

The server's behavior when processing a scheduling object resource depends on whether it is owned by the "Organizer" or an "Attendee" specified in the calendar data.

スケジューリングオブジェクトリソースを処理するときのサーバーの動作は、それがカレンダーデータで指定された「Organizer」または「Attendee」によって所有されているかどうかによって異なります。

3.2.1. Organizer Scheduling Object Resources
3.2.1. オーガナイザースケジューリングオブジェクトリソース

An "Organizer" can create, modify, or remove a scheduling object resource, subject to access privileges, preconditions, and the restrictions defined in Section 4.1 of [RFC4791]. These operations are each described next, and how they are invoked via HTTP requests is described in Section 3.2.3.

「オーガナイザー」は、アクセス権限、前提条件、および[RFC4791]のセクション4.1で定義された制限に従って、スケジューリングオブジェクトリソースを作成、変更、または削除できます。これらの操作はそれぞれ次に説明され、HTTPリクエストを介してどのように呼び出されるかについては、セクション3.2.3で説明されています。

The "Organizer" of a calendar component can also be an "Attendee" of that calendar component. In such cases, the server MUST NOT send a scheduling message to the "Attendee" that matches the "Organizer".

カレンダーコンポーネントの「主催者」は、そのカレンダーコンポーネントの「参加者」になることもできます。このような場合、サーバーは、「主催者」に一致する「参加者」にスケジューリングメッセージを送信してはなりません(MUST NOT)。

The server SHOULD reject any attempt to set the "PARTSTAT" iCalendar property parameter value of the "ATTENDEE" iCalendar property of other users in the calendar object resource to a value other than "NEEDS-ACTION" if the "SCHEDULE-AGENT" property parameter value is not present or set to the value "SERVER".

サーバーは、「SCHEDULE-AGENT」プロパティパラメータの場合、カレンダーオブジェクトリソース内の他のユーザーの「ATTENDEE」iCalendarプロパティの「PARTSTAT」iCalendarプロパティパラメータ値を「NEEDS-ACTION」以外の値に設定しようとする試みを拒否する必要があります。値が存在しないか、値「SERVER」に設定されています。

The server MAY reject attempts to create a scheduling object resource that specifies a "UID" property value already specified in a scheduling object resource contained in another calendar collection of the "Organizer".

サーバーは、「Organizer」の別のカレンダーコレクションに含まれるスケジューリングオブジェクトリソースですでに指定されている「UID」プロパティ値を指定するスケジューリングオブジェクトリソースを作成しようとする試みを拒否してもよい(MAY)。

3.2.1.1. Create
3.2.1.1. 作成する

When an "Organizer" creates a scheduling object resource, the server MUST inspect each "ATTENDEE" property to determine whether to send a scheduling message. The table below indicates the appropriate iTIP method used by the server, taking into account any "SCHEDULE-AGENT" property parameter (see Section 7.1) specified on each "ATTENDEE" property.

「オーガナイザ」がスケジューリングオブジェクトリソースを作成するとき、サーバーは各「ATTENDEE」プロパティを検査して、スケジューリングメッセージを送信するかどうかを決定する必要があります。以下の表は、各「ATTENDEE」プロパティで指定された「SCHEDULE-AGENT」プロパティパラメータ(セクション7.1を参照)を考慮して、サーバーが使用する適切なiTIPメソッドを示しています。

                    +------------------+-------------+
                    | SCHEDULE-AGENT   | iTIP METHOD |
                    +------------------+-------------+
                    | SERVER (default) | REQUEST     |
                    |                  |             |
                    | CLIENT           | --          |
                    |                  |             |
                    | NONE             | --          |
                    +------------------+-------------+
        

"SCHEDULE-STATUS" iCalendar property parameters are added or changed on "ATTENDEE" iCalendar properties in the scheduling object resource being created as described in Section 7.3, with the value set as described in Section 3.2.9. This will result in the created calendar object resource differing from the calendar data sent in the HTTP request. As a result, clients MAY reload the calendar data from the server in order to update to the new server-generated state information.

「SCHEDULE-STATUS」iCalendarプロパティパラメータは、7.3節で説明されているように作成されるスケジューリングオブジェクトリソースの「ATTENDEE」iCalendarプロパティで追加または変更され、3.2.9節で説明されているように値が設定されます。これにより、作成されたカレンダーオブジェクトリソースは、HTTPリクエストで送信されたカレンダーデータとは異なります。その結果、クライアントは、サーバーから生成された新しい状態情報に更新するために、サーバーからカレンダーデータを再ロードする場合があります。

The server MUST add a "SCHEDULE-STATUS" iCalendar property parameter (see Section 7.3) to the "ATTENDEE" iCalendar property in the scheduling object resource being created, and set its value as described in Section 3.2.9. This will result in the created calendar object resource differing from the calendar data sent in the HTTP request. As a result, clients MAY reload the calendar data from the server in order to update to the new server-generated state information. Servers MUST NOT set the "SCHEDULE-STATUS" property parameter on the "ATTENDEE" property of "Attendees" for which it did not attempt to deliver a scheduling message.

サーバーは、作成されるスケジューリングオブジェクトリソースの「ATTENDEE」iCalendarプロパティに「SCHEDULE-STATUS」iCalendarプロパティパラメータ(セクション7.3を参照)を追加し、セクション3.2.9で説明されているようにその値を設定する必要があります。これにより、作成されたカレンダーオブジェクトリソースは、HTTPリクエストで送信されたカレンダーデータとは異なります。その結果、クライアントは、サーバーから生成された新しい状態情報に更新するために、サーバーからカレンダーデータを再ロードする場合があります。サーバーは、「出席者」の「ATTENDEE」プロパティに「SCHEDULE-STATUS」プロパティパラメータを設定してはいけません。そのため、スケジュールメッセージを配信しようとしませんでした。

The server MUST return an error with the CALDAV:allowed-organizer-scheduling-object-change precondition code (Section 3.2.4.3) when the "Organizer" attempts to change the iCalendar data in a manner that is forbidden.

「オーガナイザ」が禁止されている方法でiCalendarデータを変更しようとすると、サーバーはCALDAV:allowed-organizer-scheduling-object-change前提条件コード(セクション3.2.4.3)でエラーを返す必要があります。

3.2.1.2. Modify
3.2.1.2. 修正

When an "Organizer" modifies a scheduling object resource, the server MUST inspect each "ATTENDEE" property in both the original and modified iCalendar data on a per-instance basis to determine whether to send a scheduling message. The table below indicates the appropriate iTIP method used by the server, taking into account any "SCHEDULE-AGENT" property parameter (see Section 7.1) specified on each "ATTENDEE" property. The values "SERVER", "CLIENT", and "NONE" in the top and left titles of the table refer to the "SCHEDULE-AGENT" parameter value of the "ATTENDEE" property, and the values "<Absent>" and "<Removed>" are used to cover the cases where the "ATTENDEE" property is not present (Original) or is being removed (Modified).

「オーガナイザ」がスケジューリングオブジェクトリソースを変更する場合、サーバーは、元のiCalendarデータと変更されたiCalendarデータの両方の「ATTENDEE」プロパティをインスタンスごとに検査して、スケジューリングメッセージを送信するかどうかを決定する必要があります。以下の表は、各「ATTENDEE」プロパティで指定された「SCHEDULE-AGENT」プロパティパラメータ(セクション7.1を参照)を考慮して、サーバーが使用する適切なiTIPメソッドを示しています。表の上部と左側のタイトルの値「SERVER」、「CLIENT」、および「NONE」は、「ATTENDEE」プロパティの「SCHEDULE-AGENT」パラメータ値、および値「<Absent>」と「 <Removed> "は、" ATTENDEE "プロパティが存在しない場合(オリジナル)または削除される場合(変更済み)をカバーするために使用されます。

   +---------------+-----------------------------------------------+
   |               |                   Modified                    |
   |               +-----------+-----------+-----------+-----------+
   |               | <Removed> | SERVER    | CLIENT    | NONE      |
   |               |           | (default) |           |           |
   +===+===========+===========+===========+===========+===========+
   |   | <Absent>  |  --       | REQUEST / | --        | --        |
   | O |           |           | ADD       |           |           |
   | r +-----------+-----------+-----------+-----------+-----------+
   | i | SERVER    |  CANCEL   | REQUEST   | CANCEL    | CANCEL    |
   | g | (default) |           |           |           |           |
   | i +-----------+-----------+-----------+-----------+-----------+
   | n | CLIENT    |  --       | REQUEST / | --        | --        |
   | a |           |           | ADD       |           |           |
   | l +-----------+-----------+-----------+-----------+-----------+
   |   | NONE      |  --       | REQUEST / | --        | --        |
   |   |           |           | ADD       |           |           |
   +---+-----------+-----------+-----------+-----------+-----------+
        

"SCHEDULE-STATUS" iCalendar property parameters are added or changed on "ATTENDEE" iCalendar properties in the scheduling object resource being modified as described in Section 7.3, with the value set as described in Section 3.2.9. This will result in the created calendar object resource differing from the calendar data sent in the HTTP request. As a result, clients MAY reload the calendar data from the server in order to update to the new server-generated state information.

"SCHEDULE-STATUS" iCalendarプロパティパラメータは、7.3で説明されているように変更されているスケジューリングオブジェクトリソースの "ATTENDEE" iCalendarプロパティで追加または変更され、値は3.2.9で説明されているように設定されます。これにより、作成されたカレンダーオブジェクトリソースは、HTTPリクエストで送信されたカレンダーデータとは異なります。その結果、クライアントは、サーバーから生成された新しい状態情報に更新するために、サーバーからカレンダーデータを再ロードする場合があります。

The server MUST return an error with the CALDAV:allowed-organizer-scheduling-object-change precondition code (Section 3.2.4.3) when the "Organizer" attempts to change the iCalendar data in a manner that is forbidden.

「オーガナイザ」が禁止されている方法でiCalendarデータを変更しようとすると、サーバーはCALDAV:allowed-organizer-scheduling-object-change前提条件コード(セクション3.2.4.3)でエラーを返す必要があります。

3.2.1.3. Remove
3.2.1.3. 削除する

When an "Organizer" removes a scheduling object resource, the server MUST inspect each "ATTENDEE" property to determine whether to send a scheduling message. The table below indicates the appropriate iTIP method used by the server, taking into account any "SCHEDULE-AGENT" property parameter (see Section 7.1) specified on each "ATTENDEE" property.

「オーガナイザ」がスケジューリングオブジェクトリソースを削除する場合、サーバーは各「ATTENDEE」プロパティを検査して、スケジューリングメッセージを送信するかどうかを決定する必要があります。以下の表は、各「ATTENDEE」プロパティで指定された「SCHEDULE-AGENT」プロパティパラメータ(セクション7.1を参照)を考慮して、サーバーが使用する適切なiTIPメソッドを示しています。

                    +------------------+-------------+
                    | SCHEDULE-AGENT   | iTIP METHOD |
                    +------------------+-------------+
                    | SERVER (default) | CANCEL      |
                    |                  |             |
                    | CLIENT           | --          |
                    |                  |             |
                    | NONE             | --          |
                    +------------------+-------------+
        
3.2.2. Attendee Scheduling Object Resources
3.2.2. 出席者のスケジュールオブジェクトリソース

An "Attendee" can create, modify, or remove a scheduling object resource. These operations are each described next, and how they are invoked via HTTP requests is described in Section 3.2.3.

「参加者」は、スケジューリングオブジェクトリソースを作成、変更、または削除できます。これらの操作はそれぞれ次に説明され、HTTPリクエストを介してどのように呼び出されるかについては、セクション3.2.3で説明されています。

3.2.2.1. Allowed "Attendee" Changes
3.2.2.1. 許可された「参加者」の変更

"Attendees" are allowed to make some changes to a scheduling object resource, though key properties such as start time, end time, location, and summary are typically under the control of the "Organizer".

「出席者」は、スケジュールオブジェクトリソースに変更を加えることができますが、通常、開始時刻、終了時刻、場所、要約などの主要なプロパティは「オーガナイザ」の制御下にあります。

Servers MUST allow "Attendees" to make the following iCalendar data changes, subject to other restrictions, such as access privileges and preconditions:

サーバーは、「参加者」がアクセス特権や前提条件などの他の制限に従って、次のiCalendarデータの変更を行えるようにする必要があります。

1. change their own "PARTSTAT" iCalendar property parameter value.

1. 独自の「PARTSTAT」iCalendarプロパティパラメータ値を変更します。

2. add, modify, or remove any "TRANSP" iCalendar properties.

2. "TRANSP" iCalendarプロパティを追加、変更、または削除します。

3. add, modify, or remove any "PERCENT-COMPLETE" iCalendar properties.

3. 「PERCENT-COMPLETE」のiCalendarプロパティを追加、変更、または削除します。

4. add, modify, or remove any "COMPLETED" iCalendar properties.

4. 「完了」したiCalendarプロパティを追加、変更、または削除します。

5. add, modify, or remove any "VALARM" iCalendar components.

5. 「VALARM」iCalendarコンポーネントを追加、変更、または削除します。

6. add, modify, or remove the "CALSCALE" iCalendar property within the top-level "VCALENDAR" component.

6. 最上位の「VCALENDAR」コンポーネント内の「CALSCALE」iCalendarプロパティを追加、変更、または削除します。

7. modify the "PRODID" iCalendar property within the top-level "VCALENDAR" component.

7. トップレベルの「VCALENDAR」コンポーネント内の「PRODID」iCalendarプロパティを変更します。

8. add "EXDATE" iCalendar properties and possibly remove components for overridden recurrence instances.

8. "EXDATE" iCalendarプロパティを追加し、オーバーライドされた繰り返しインスタンスのコンポーネントを削除する可能性があります。

9. add, modify, or remove any "CREATED", "DTSTAMP", and "LAST-MODIFIED" iCalendar properties.

9. 「CREATED」、「DTSTAMP」、および「LAST-MODIFIED」のiCalendarプロパティを追加、変更、または削除します。

10. add, modify, or remove "SCHEDULE-STATUS" iCalendar property parameters on "ATTENDEE" properties that have a "SCHEDULE-AGENT" parameter set to "CLIENT".

10. 「SCHEDULE-AGENT」パラメータが「CLIENT」に設定されている「ATTENDEE」プロパティの「SCHEDULE-STATUS」iCalendarプロパティパラメータを追加、変更、または削除します。

11. add new components to represent overridden recurrence instances, provided the only changes to the recurrence instance follow the rules above.

11. 再帰インスタンスへの唯一の変更が上記のルールに従う場合、上書きされた再帰インスタンスを表す新しいコンポーネントを追加します。

The server MUST return an error with the CALDAV:allowed-attendee-scheduling-object-change precondition code (Section 3.2.4.4) when the "Attendee" attempts to change the iCalendar data in a manner forbidden by the server.

「参加者」がサーバーによって禁止されている方法でiCalendarデータを変更しようとすると、サーバーはCALDAV:allowed-attendee-scheduling-object-change前提条件コード(セクション3.2.4.4)でエラーを返す必要があります。

3.2.2.2. Create
3.2.2.2. 作成する

Typically, an "Attendee" does not create scheduling object resources, as scheduling messages delivered to him on the server are automatically processed by the server and placed on one of his calendars (see Section 4). However, in some cases, a scheduling message can get delivered directly to the client (e.g., via email [RFC6047]), and the "Attendee" might wish to store that on the server. In that case, the client creates a scheduling object resource in a calendar belonging to the "Attendee". It can then set the "SCHEDULE-AGENT" iCalendar property parameter on all "ORGANIZER" iCalendar properties in the resource to determine how the server treats the resource. The value of the "SCHEDULE-AGENT" iCalendar property parameter on all "ORGANIZER" iCalendar properties MUST be the same.

通常、「出席者」はサーバーに配信されたスケジュールメッセージがサーバーによって自動的に処理され、彼のカレンダーの1つに配置されるため(セクション4を参照)、スケジュールオブジェクトリソースを作成しません。ただし、場合によっては、スケジュールメッセージがクライアントに直接配信され(たとえば、電子メール[RFC6047]を介して)、「参加者」がそれをサーバーに保存することを望む場合があります。その場合、クライアントは「参加者」に属するカレンダーにスケジュールオブジェクトリソースを作成します。次に、リソース内のすべての「ORGANIZER」iCalendarプロパティに「SCHEDULE-AGENT」iCalendarプロパティパラメータを設定して、サーバーがリソースを処理する方法を決定できます。すべての「ORGANIZER」iCalendarプロパティの「SCHEDULE-AGENT」iCalendarプロパティパラメータの値は同じである必要があります。

   +----------------+--------------------------------------------------+
   | SCHEDULE-AGENT | Action                                           |
   +----------------+--------------------------------------------------+
   | SERVER         | The server will attempt to process changes to    |
   | (default)      | the resource using the normal rules for attendee |
   |                | scheduling object resources.                     |
   |                |                                                  |
   | CLIENT         | The server does no special processing of the     |
   |                | resource.  The client is assumed to be handling  |
   |                | "Attendee" replies, etc.                         |
   |                |                                                  |
   | NONE           | The server does no special processing of the     |
   |                | resource.                                        |
   +----------------+--------------------------------------------------+
        

"SCHEDULE-STATUS" iCalendar property parameters are added or changed on "ORGANIZER" iCalendar properties in the scheduling object resource being created as described in Section 7.3, with the value set as described in Section 3.2.9.

「SCHEDULE-STATUS」iCalendarプロパティパラメータは、7.3節で説明されているように作成されるスケジューリングオブジェクトリソースの「ORGANIZER」iCalendarプロパティで追加または変更され、3.2.9節で説明されているように値が設定されます。

3.2.2.3. Modify
3.2.2.3. 修正

When a scheduling object resource is modified by an "Attendee", the server's behavior depends on the value of the "SCHEDULE-AGENT" iCalendar property parameter on the "ORGANIZER" iCalendar properties:

スケジュールオブジェクトリソースが「出席者」によって変更された場合、サーバーの動作は、「ORGANIZER」iCalendarプロパティの「SCHEDULE-AGENT」iCalendarプロパティパラメータの値によって異なります。

   +----------------+--------------------------------------------------+
   | SCHEDULE-AGENT | Action                                           |
   +----------------+--------------------------------------------------+
   | SERVER         | The server will attempt to process the update    |
   | (default)      | using the behavior listed below.                 |
   |                |                                                  |
   | CLIENT         | The server does no special processing of the     |
   |                | resource.  The client is assumed to be handling  |
   |                | any "Attendee" replies, etc.                     |
   |                |                                                  |
   | NONE           | The server does no special processing of the     |
   |                | resource.                                        |
   +----------------+--------------------------------------------------+
        

The server will inspect the changes by comparing the new scheduling object resource with the existing scheduling object resource.

サーバーは、新しいスケジューリングオブジェクトリソースを既存のスケジューリングオブジェクトリソースと比較することにより、変更を検査します。

If the "Attendee" changes one or more "PARTSTAT" iCalendar property values on any component, or adds an overridden component with a changed "PARTSTAT" property, then the server MUST deliver an iTIP "REPLY" scheduling message to the "Organizer" to indicate the new participation status of the "Attendee".

「参加者」がコンポーネントの1つ以上の「PARTSTAT」iCalendarプロパティ値を変更した場合、または変更された「PARTSTAT」プロパティでオーバーライドされたコンポーネントを追加した場合、サーバーはiTIP「REPLY」スケジューリングメッセージを「オーガナイザ」に配信する必要があります。 「参加者」の新しい参加状況を示します。

If the "Attendee" adds an "EXDATE" property value to effectively remove a recurrence instance, the server MUST deliver an iTIP "REPLY" scheduling message to the "Organizer" to indicate that the "Attendee" has declined the instance.

「参加者」が「EXDATE」プロパティ値を追加して繰り返しインスタンスを効果的に削除する場合、サーバーは「主催者」にiTIP「REPLY」スケジューリングメッセージを配信して、「参加者」がインスタンスを辞退したことを示す必要があります。

"SCHEDULE-STATUS" iCalendar property parameters are added or changed on "ORGANIZER" iCalendar properties in the scheduling object resource being modified as described in Section 7.3, with the value set as described in Section 3.2.9. This will result in the updated calendar object resource differing from the calendar data sent in the HTTP request. As a result, clients MAY reload the calendar data from the server in order to update to the new server-generated state information.

"SCHEDULE-STATUS" iCalendarプロパティパラメータは、7.3で説明されているように変更されているスケジューリングオブジェクトリソースの "ORGANIZER" iCalendarプロパティで追加または変更され、値は3.2.9で説明されているように設定されます。これにより、更新されたカレンダーオブジェクトリソースは、HTTPリクエストで送信されたカレンダーデータとは異なります。その結果、クライアントは、サーバーから生成された新しい状態情報に更新するために、サーバーからカレンダーデータを再ロードする場合があります。

3.2.2.4. Remove
3.2.2.4. 削除する

When a scheduling object resource is removed by an "Attendee", the server's behavior depends on the value of the "SCHEDULE-AGENT" iCalendar property parameter on the "ORGANIZER" iCalendar properties:

スケジュールオブジェクトリソースが「参加者」によって削除された場合、サーバーの動作は、「ORGANIZER」iCalendarプロパティの「SCHEDULE-AGENT」iCalendarプロパティパラメータの値によって異なります。

   +----------------+--------------------------------------------------+
   | SCHEDULE-AGENT | Action                                           |
   +----------------+--------------------------------------------------+
   | SERVER         | The server will attempt to process the removal,  |
   | (default)      | taking into account any "Schedule-Reply" request |
   |                | header as per Section 8.1.                       |
   |                |                                                  |
   | CLIENT         | The server does no special processing of the     |
   |                | resource.  The client is assumed to be handling  |
   |                | any "Attendee" replies, etc.                     |
   |                |                                                  |
   | NONE           | The server does no special processing of the     |
   |                | resource.                                        |
   +----------------+--------------------------------------------------+
        
3.2.3. HTTP Methods
3.2.3. HTTPメソッド

This section describes how the use of various HTTP [RFC2616] and WebDAV [RFC4918] methods on a scheduling object resource will cause a create, modify, or remove operation on that resource as described above. The use of these methods is subject to the restrictions in [RFC4791], in addition to what is described below.

このセクションでは、スケジューリングオブジェクトリソースでさまざまなHTTP [RFC2616]およびWebDAV [RFC4918]メソッドを使用すると、上記のようにそのリソースで作成、変更、または削除操作がどのように行われるかについて説明します。これらの方法の使用は、以下に説明されているものに加えて、[RFC4791]の制限を受けます。

3.2.3.1. PUT
3.2.3.1. 置く

When the server receives a PUT method request, it MUST execute the following operations, provided all appropriate preconditions are met:

サーバーがPUTメソッド要求を受信すると、すべての適切な前提条件が満たされていれば、次の操作を実行する必要があります。

   +------------------------+--------------------------+---------------+
   | Existing Destination   | Resulting Destination    | Server        |
   | Resource               | Resource                 | Operation     |
   +------------------------+--------------------------+---------------+
   | None                   | Calendar object resource | None          |
   |                        |                          |               |
   | None                   | Scheduling object        | Create        |
   |                        | resource                 |               |
   |                        |                          |               |
   | Calendar object        | Calendar object resource | None          |
   | resource               |                          |               |
   |                        |                          |               |
   | Calendar object        | Scheduling object        | Create        |
   | resource               | resource                 |               |
   | Scheduling object      | Calendar object resource | Remove        |
   | resource               |                          |               |
   |                        |                          |               |
   | Scheduling object      | Scheduling object        | Modify        |
   | resource               | resource                 |               |
   +------------------------+--------------------------+---------------+
        
3.2.3.2. DELETE
3.2.3.2. 削除

When the server receives a DELETE method request targeted at a scheduling object resource, it MUST execute the Remove operation.

サーバーは、スケジューリングオブジェクトリソースをターゲットとするDELETEメソッド要求を受信すると、削除操作を実行する必要があります。

When the server receives a DELETE method request targeted at a calendar collection, it MUST execute the Remove operation on all scheduling object resources contained in the calendar collection.

サーバーは、カレンダーコレクションを対象とするDELETEメソッド要求を受信すると、カレンダーコレクションに含まれるすべてのスケジュールオブジェクトリソースに対して削除操作を実行する必要があります。

3.2.3.3. COPY
3.2.3.3. コピー

When the server receives a COPY method request, it MUST execute the following operations based on the source and destination collections in the request:

サーバーはCOPYメソッド要求を受信すると、要求内のソースおよび宛先のコレクションに基づいて、次の操作を実行する必要があります。

   +-----------------------+------------------------+------------------+
   | Source Collection     | Destination Collection | Server Operation |
   +-----------------------+------------------------+------------------+
   | Non-calendar          | Non-calendar           | None             |
   | collection            | collection             |                  |
   |                       |                        |                  |
   | Non-calendar          | Calendar collection    | (1)              |
   | collection            |                        |                  |
   |                       |                        |                  |
   | Calendar collection   | Non-calendar           | None             |
   |                       | collection             |                  |
   |                       |                        |                  |
   | Calendar collection   | Calendar collection    | (2)              |
   +-----------------------+------------------------+------------------+
        

Note (1): The rules in Section 3.2.3.1 are applied for the destination of the COPY request.

注(1):セクション3.2.3.1の規則は、COPY要求の宛先に適用されます。

Note (2): The server MAY reject this as per Section 3.2.4.1; otherwise, None.

注(2):サーバーは、セクション3.2.4.1に従ってこれを拒否してもよい(MAY)。それ以外の場合、なし。

The behavior of a COPY method request on a calendar collection is undefined.

カレンダーコレクションに対するCOPYメソッドリクエストの動作は定義されていません。

3.2.3.4. MOVE
3.2.3.4. 移動

When the server receives a MOVE method request, it MUST execute the following operations based on the source and destination collections in the request:

サーバーはMOVEメソッド要求を受信すると、要求内のソースおよび宛先のコレクションに基づいて、次の操作を実行する必要があります。

   +-----------------------+------------------------+------------------+
   | Source Collection     | Destination Collection | Server Operation |
   +-----------------------+------------------------+------------------+
   | Non-calendar          | Non-calendar           | None             |
   | collection            | collection             |                  |
   |                       |                        |                  |
   | Non-calendar          | Calendar collection    | (1)              |
   | collection            |                        |                  |
   |                       |                        |                  |
   | Calendar collection   | Non-calendar           | (2)              |
   |                       | collection             |                  |
   |                       |                        |                  |
   | Calendar collection   | Calendar collection    | None             |
   +-----------------------+------------------------+------------------+
        

Note (1): The rules in Section 3.2.3.1 are applied for the destination of the MOVE request.

注(1):セクション3.2.3.1のルールは、MOVE要求の宛先に適用されます。

Note (2): The rules in Section 3.2.3.2 are applied for the source of the MOVE request.

注(2):セクション3.2.3.2のルールは、MOVE要求のソースに適用されます。

The behavior of a MOVE method request on a calendar collection is undefined.

カレンダーコレクションに対するMOVEメソッドリクエストの動作は未定義です。

3.2.4. Additional Method Preconditions
3.2.4. 追加のメソッドの前提条件

This specification defines method preconditions (see Section 16 of WebDAV [RFC4918]), in addition to those in [RFC4791], to provide machine-parseable information in error responses.

この仕様は、[RFC4791]に加えて、メソッドの前提条件(WebDAV [RFC4918]のセクション16を参照)を定義し、エラー応答でマシンが解析可能な情報を提供します。

3.2.4.1. CALDAV:unique-scheduling-object-resource Precondition
3.2.4.1. CALDAV:一意のスケジューリングオブジェクトリソースの前提条件

Name: unique-scheduling-object-resource

名前:unique-scheduling-object-resource

   Namespace:  urn:ietf:params:xml:ns:caldav
        

Apply to: PUT, COPY, and MOVE

適用先:PUT、COPY、およびMOVE

Use with: 403 Forbidden Purpose: (precondition) -- Servers MAY reject requests to create a scheduling object resource with an iCalendar "UID" property value already in use by another scheduling object resource owned by the same user in other calendar collections. Servers SHOULD report the URL of the scheduling object resource that is already making use of the same "UID" property value in the DAV:href element.

使用禁止:403禁止目的:(前提条件)-サーバーは、他のカレンダーコレクションで同じユーザーが所有する別のスケジュールオブジェクトリソースがすでに使用しているiCalendar "UID"プロパティ値を持つスケジュールオブジェクトリソースを作成する要求を拒否できます(MAY)。サーバーは、DAV:href要素の同じ「UID」プロパティ値をすでに使用しているスケジューリングオブジェクトリソースのURLを報告する必要があります(SHOULD)。

Definition:

定義:

     <!ELEMENT unique-scheduling-object-resource (DAV:href?)>
        

Example:

例:

     <C:unique-scheduling-object-resource xmlns:D="DAV:"
         xmlns:C="urn:ietf:params:xml:ns:caldav">
       <D:href>/home/bernard/calendars/personal/abc123.ics</D:href>
     </C:unique-scheduling-object-resource>
        
3.2.4.2. CALDAV:same-organizer-in-all-components Precondition
3.2.4.2. CALDAV:same-organizer-in-all-components前提条件

Name: same-organizer-in-all-components

名前:同じオーガナイザーのすべてのコンポーネント

   Namespace:  urn:ietf:params:xml:ns:caldav
        

Apply to: PUT, COPY, and MOVE

適用先:PUT、COPY、およびMOVE

Use with: 403 Forbidden

一緒に使用:403 Forbidden

Purpose: (precondition) -- All the calendar components in a scheduling object resource MUST contain the same "ORGANIZER" property value when present.

目的:(前提条件)-スケジューリングオブジェクトリソース内のすべてのカレンダーコンポーネントは、存在する場合、同じ「ORGANIZER」プロパティ値を含む必要があります。

Definition:

定義:

     <!ELEMENT same-organizer-in-all-components EMPTY>
        
3.2.4.3. CALDAV:allowed-organizer-scheduling-object-change Precondition
3.2.4.3. CALDAV:allowed-organizer-scheduling-object-change前提条件

Name: allowed-organizer-scheduling-object-change

名前:allowed-organizer-scheduling-object-change

   Namespace:  urn:ietf:params:xml:ns:caldav
        

Apply to: PUT, COPY, and MOVE

適用先:PUT、COPY、およびMOVE

Use with: 403 Forbidden Purpose: (precondition) -- Servers MAY impose restrictions on modifications allowed by an "Organizer". For instance, servers MAY prevent the "Organizer" from setting the "PARTSTAT" property parameter to a value other than "NEEDS-ACTION" if the corresponding "ATTENDEE" property has the "SCHEDULE-AGENT" property parameter set to "SERVER", or does not have the "SCHEDULE-AGENT" property parameter. See Section 3.2.1.

使用:403禁止目的:(前提条件)-サーバーは、「オーガナイザ」が許可する変更に制限を課すことができます(MAY)。たとえば、対応する「ATTENDEE」プロパティの「SCHEDULE-AGENT」プロパティパラメータが「SERVER」に設定されている場合、サーバーは「Organizer」が「PARTSTAT」プロパティパラメータを「NEEDS-ACTION」以外の値に設定できないようにする場合があります。または、「SCHEDULE-AGENT」プロパティパラメータがありません。セクション3.2.1を参照してください。

Definition:

定義:

     <!ELEMENT allowed-organizer-scheduling-object-change EMPTY>
        
3.2.4.4. CALDAV:allowed-attendee-scheduling-object-change Precondition
3.2.4.4. CALDAV:許可された出席者のスケジューリングオブジェクトの変更の前提条件

Name: allowed-attendee-scheduling-object-change

名前:許可された出席者のスケジュール設定オブジェクトの変更

   Namespace:  urn:ietf:params:xml:ns:caldav
        

Apply to: PUT, COPY, and MOVE

適用先:PUT、COPY、およびMOVE

Use with: 403 Forbidden

との併用:403 Forbidden

Purpose: (precondition) -- Servers MAY impose restrictions on modifications allowed by an "Attendee", subject to the allowed changes specified in Section 3.2.2.1.

目的:(前提条件)-セクション3.2.2.1で指定された許可された変更を条件として、サーバーは「参加者」によって許可された変更に制限を課すことができます(MAY)。

Definition:

定義:

     <!ELEMENT allowed-attendee-scheduling-object-change EMPTY>
        
3.2.5. DTSTAMP and SEQUENCE Properties
3.2.5. DTSTAMPおよびSEQUENCEプロパティ

The server MUST ensure that a "DTSTAMP" iCalendar property is present and set the value to the UTC time that the scheduling message was generated (as required by iCalendar).

サーバーは、「DTSTAMP」iCalendarプロパティが存在することを確認し、(iCalendarの要求に応じて)スケジューリングメッセージが生成されたUTC時間に値を設定する必要があります。

The server MUST ensure that for each type of scheduling operation, the "SEQUENCE" iCalendar property value is updated as per iTIP [RFC5546].

サーバーは、スケジューリング操作のタイプごとに、「シーケンス」のiCalendarプロパティ値がiTIP [RFC5546]に従って更新されるようにする必要があります。

3.2.6. Restrict Recurrence Instances Sent to "Attendees"
3.2.6. 「出席者」に送信される繰り返しインスタンスを制限する

Servers MUST ensure that "Attendees" only get information about recurrence instances that explicitly include them as an "Attendee", when delivering scheduling messages for recurring calendar components.

サーバーは、定期的なカレンダーコンポーネントのスケジュールメッセージを配信するときに、「参加者」が明示的に「参加者」として含む繰り返しインスタンスに関する情報のみを取得することを確認する必要があります。

For example, if an "Attendee" is invited to only a single instance of a recurring event, the organizer scheduling object resource will contain an overridden instance in the form of a separate calendar component. That separate calendar component will include the "ATTENDEE" property referencing the "one-off" "Attendee". That "Attendee" will not be listed in any other calendar components in the scheduling object resource. Any scheduling messages delivered to the "Attendee" will only contain information about this overridden instance.

たとえば、「出席者」が定期的なイベントの単一のインスタンスのみに招待された場合、開催者のスケジュールオブジェクトリソースには、個別のカレンダーコンポーネントの形式でオーバーライドされたインスタンスが含まれます。その個別のカレンダーコンポーネントには、「1回限り」の「出席者」を参照する「ATTENDEE」プロパティが含まれます。その「出席者」は、スケジューリングオブジェクトリソースの他のカレンダーコンポーネントにはリストされません。 「参加者」に配信されるスケジューリングメッセージには、このオーバーライドされたインスタンスに関する情報のみが含まれます。

As another example, an "Attendee" could be excluded from one instance of a recurring event. In that case, the organizer scheduling object resource will include an overridden instance with an "ATTENDEE" list that does not include the "Attendee" being excluded. Any scheduling messages delivered to the "Attendee" will not specify the overridden instance but rather will include an "EXDATE" property in the "master" component that defines the recurrence set.

別の例として、「参加者」を定期的なイベントの1つのインスタンスから除外できます。その場合、開催者のスケジュールオブジェクトリソースには、「出席者」が除外されていない「出席者」リストが含まれたオーバーライドされたインスタンスが含まれます。 "Attendee"に配信されるすべてのスケジュールメッセージは、オーバーライドされたインスタンスを指定するのではなく、繰り返しセットを定義する "master"コンポーネントに "EXDATE"プロパティを含めます。

3.2.7. Forcing the Server to Send a Scheduling Message
3.2.7. サーバーにスケジュールメッセージを送信させる

The iCalendar property parameter "SCHEDULE-FORCE-SEND", defined in Section 7.2, can be used by a calendar user to force the server to send a scheduling message to an "Attendee" or the "Organizer" in a situation where the server would not normally send a scheduling message. For instance, an "Organizer" could use this property parameter to request an "Attendee" that previously declined an invitation to reconsider his participation status without being forced to modify the event.

セクション7.2で定義されているiCalendarプロパティパラメータ "SCHEDULE-FORCE-SEND"をカレンダーユーザーが使用して、サーバーが "出席者"または "主催者"にサーバーに強制的にスケジュールメッセージを送信する状況を強制できます。通常はスケジューリングメッセージを送信しません。たとえば、「主催者」はこのプロパティパラメータを使用して、以前はイベントを変更せずに参加ステータスを再検討する招待を辞退した「参加者」をリクエストできます。

3.2.8. "Attendee" Participation Status
3.2.8. 「参加者」参加状況

This section specifies additional requirements on the handling of the "PARTSTAT" property parameter when the "SCHEDULE-AGENT" property parameter on the corresponding "ATTENDEE" property is set to the value "SERVER" or is not present.

このセクションでは、対応する「ATTENDEE」プロパティの「SCHEDULE-AGENT」プロパティパラメータが値「SERVER」に設定されているか存在しない場合の「PARTSTAT」プロパティパラメータの処理に関する追加要件を指定します。

A reschedule occurs when any "DTSTART", "DTEND", "DURATION", "DUE", "RRULE", "RDATE", or "EXDATE" property changes in a calendar component such that existing recurrence instances are impacted by the changes, as shown in the table below. Servers MUST reset the "PARTSTAT" property parameter value of all "ATTENDEE" properties, except the one that corresponds to the "Organizer", to "NEEDS-ACTION" for each calendar component change that causes any instance to be rescheduled.

「DTSTART」、「DTEND」、「DURATION」、「DUE」、「RRULE」、「RDATE」、または「EXDATE」のプロパティがカレンダーコンポーネントで変更され、既存の繰り返しインスタンスが変更の影響を受ける場合、再スケジュールが発生します。次の表に示すように。サーバーは、「Organizer」に対応するものを除くすべての「ATTENDEE」プロパティの「PARTSTAT」プロパティパラメータ値を、インスタンスが再スケジュールされる原因となるカレンダーコンポーネントの変更ごとに「NEEDS-ACTION」にリセットする必要があります。

   +-----------+-------------------------------------------------------+
   | Property  | Server Action                                         |
   +-----------+-------------------------------------------------------+
   | DTSTART,  | Any change to these properties results in "PARTSTAT"  |
   | DTEND,    | being set to "NEEDS-ACTION".                          |
   | DURATION, |                                                       |
   | DUE       |                                                       |
   |           |                                                       |
   | RRULE     | A change to or addition of this property that results |
   |           | in the addition of new recurring instances or a       |
   |           | change in time for existing recurring instances       |
   |           | results in "PARTSTAT" being reset to "NEEDS-ACTION"   |
   |           | on each affected component.                           |
   |           |                                                       |
   | RDATE     | A change to or addition of this property that results |
   |           | in the addition of new recurring instances or a       |
   |           | change in time for existing recurring instances       |
   |           | results in "PARTSTAT" being reset to "NEEDS-ACTION"   |
   |           | on each affected component.                           |
   |           |                                                       |
   | EXDATE    | A change to or removal of this property that results  |
   |           | in the reinstatement of recurring instances results   |
   |           | in "PARTSTAT" being set to "NEEDS-ACTION" on each     |
   |           | affected component.                                   |
   +-----------+-------------------------------------------------------+
        

The server MAY allow the "Organizer's" client to change an "Attendee's" "PARTSTAT" property parameter value to "NEEDS-ACTION" at any other time (e.g., when the "LOCATION" property value changes, an "Organizer" might wish to re-invite "Attendees" who might be impacted by the change).

サーバーは、「オーガナイザ」クライアントが「出席者」の「PARTSTAT」プロパティパラメータ値を「NEEDS-ACTION」に変更することを許可する場合があります(たとえば、「LOCATION」プロパティ値が変更された場合、「オーガナイザ」は変更の影響を受ける可能性のある「参加者」を再度招待します)。

3.2.9. Schedule Status Values
3.2.9. ステータス値のスケジュール

When scheduling with an "Attendee", there are two types of status information that can be returned during the operation. The first type of status information is a "delivery" status that indicates whether the scheduling message from the "Organizer" to the "Attendee" was delivered or not, or what the current status of delivery is. The second type of status information is a "reply" status corresponding to the "Attendee's" own "REQUEST-STATUS" information from the scheduling message reply that is sent back to the "Organizer".

「参加者」を使用してスケジュールする場合、操作中に返されるステータス情報には2つのタイプがあります。最初のタイプのステータス情報は、「主催者」から「参加者」へのスケジューリングメッセージが配信されたかどうか、または現在の配信ステータスが何であるかを示す「配信」ステータスです。 2番目のタイプのステータス情報は、「主催者」に返信されるスケジューリングメッセージの返信からの「出席者」自身の「REQUEST-STATUS」情報に対応する「返信」ステータスです。

Similarly, when an "Attendee" sends a reply back to the "Organizer", there will be "delivery" status information for the scheduling message sent to the "Organizer". However, there is no "REQUEST-STATUS" sent back by the "Organizer", so there is no equivalent of the "reply" status as per scheduling messages to "Attendees".

同様に、「参加者」が「オーガナイザ」に返信を送信すると、「オーガナイザ」に送信されたスケジューリングメッセージの「配信」ステータス情報が表示されます。ただし、「オーガナイザー」から送り返される「REQUEST-STATUS」はないため、「出席者」へのメッセージのスケジュールに従って「返信」ステータスに相当するものはありません。

The "delivery" status information on an "ORGANIZER" or "ATTENDEE" iCalendar property is conveyed in the "SCHEDULE-STATUS" property parameter value (Section 7.3). The status code value for "delivery" status can be one of the following:

「ORGANIZER」または「ATTENDEE」iCalendarプロパティの「配信」ステータス情報は、「SCHEDULE-STATUS」プロパティパラメータ値で伝達されます(7.3節)。 「配信」ステータスのステータスコード値は、次のいずれかになります。

   +----------+--------------------------------------------------------+
   | Delivery | Description                                            |
   | Status   |                                                        |
   | Code     |                                                        |
   +----------+--------------------------------------------------------+
   | 1.0      | The scheduling message is pending.  That is, the       |
   |          | server is still in the process of sending the message. |
   |          | The status code value can be expected to change once   |
   |          | the server has completed its sending and delivery      |
   |          | attempts.                                              |
   |          |                                                        |
   | 1.1      | The scheduling message has been successfully sent.     |
   |          | However, the server does not have explicit information |
   |          | about whether the scheduling message was successfully  |
   |          | delivered to the recipient.  This state can occur with |
   |          | "store and forward" style scheduling protocols such as |
   |          | iMIP [RFC6047] (iTIP using email).                     |
   |          |                                                        |
   | 1.2      | The scheduling message has been successfully           |
   |          | delivered.                                             |
   |          |                                                        |
        
   | 3.7      | The scheduling message was not delivered because the   |
   |          | server did not recognize the calendar user address as  |
   |          | a valid calendar user.  Note that this code applies to |
   |          | both "Organizer" and "Attendee" calendar user          |
   |          | addresses.                                             |
   |          |                                                        |
   | 3.8      | The scheduling message was not delivered due to        |
   |          | insufficient privileges.  Note that this code applies  |
   |          | to privileges granted by both the "Organizer" and      |
   |          | "Attendee" calendar users.                             |
   |          |                                                        |
   | 5.1      | The scheduling message was not delivered because the   |
   |          | server could not complete delivery of the message.     |
   |          | This is likely due to a temporary failure, and the     |
   |          | originator can try to send the message again at a      |
   |          | later time.                                            |
   |          |                                                        |
   | 5.2      | The scheduling message was not delivered because the   |
   |          | server was not able to find a way to deliver the       |
   |          | message.  This is likely a permanent failure, and the  |
   |          | originator ought not try to send the message again, at |
   |          | least without verifying/correcting the calendar user   |
   |          | address of the recipient.                              |
   |          |                                                        |
   | 5.3      | The scheduling message was not delivered and was       |
   |          | rejected because scheduling with that recipient is not |
   |          | allowed.  This is likely a permanent failure, and the  |
   |          | originator ought not try to send the message again.    |
   +----------+--------------------------------------------------------+
        

The status code for "reply" status can be any of the valid iTIP [RFC5546] "REQUEST-STATUS" values.

「返信」ステータスのステータスコードは、有効なiTIP [RFC5546]「REQUEST-STATUS」の値のいずれかになります。

The 1.xx "REQUEST-STATUS" codes are new. This specification modifies item (2) of Section 3.6 of [RFC5546] by adding the following restriction:

1.xx "REQUEST-STATUS"コードは新しいです。この仕様は、[RFC5546]のセクション3.6の項目(2)を次の制限を追加することによって変更します。

For a 1.xx code, all components MUST have exactly the same code.

1.xxコードの場合、すべてのコンポーネントはまったく同じコードでなければなりません。

Definition of the new 1.xx codes is as follows:

新しい1.xxコードの定義は次のとおりです。

3.2.9.1. Status Code 1.0
3.2.9.1. ステータスコード1.0

Status Code: 1.0

ステータスコード:1.0

Status Description: Pending.

ステータスの説明:保留中。

Status Exception Data: None.

ステータス例外データ:なし。

Description: Delivery of the iTIP message is pending.

説明:iTIPメッセージの配信は保留中です。

3.2.9.2. Status Code 1.1
3.2.9.2. ステータスコード1.1

Status Code: 1.1

ステータスコード:1.1

Status Description: Sent.

ステータスの説明:送信済み。

Status Exception Data: None.

ステータス例外データ:なし。

Description: The iTIP message has been sent, though no information about successful delivery is known.

説明:配信の成功に関する情報は不明ですが、iTIPメッセージが送信されました。

3.2.9.3. Status Code 1.2
3.2.9.3. ステータスコード1.2

Status Code: 1.2

ステータスコード:1.2

Status Description: Delivered.

ステータスの説明:配信済み。

Status Exception Data: None.

ステータス例外データ:なし。

Description: The iTIP message has been sent and delivered.

説明:iTIPメッセージが送信および配信されました。

3.2.10. Avoiding Conflicts when Updating Scheduling Object Resources
3.2.10. スケジューリングオブジェクトリソースの更新時の競合の回避

Scheduling object resources on the server might change frequently as "Attendees" change their participation status, triggering updates to the "Organizer", and refreshes of other "Attendees'" copies of the scheduling object resource. This can lead to an "inconsequential" change to a calendar user's data -- one that does not directly impact the user's own participation status. When this occurs, clients have to reload calendar data and reconcile with changes being made by calendar users. To avoid the need for this, the server can instead merge calendar data changes from a client with changes made as a result of a scheduling operation carried out by some other calendar user.

「出席者」が参加ステータスを変更し、「オーガナイザ」への更新をトリガし、スケジューリングオブジェクトリソースの他の「出席者」のコピーを更新すると、サーバー上のスケジュールオブジェクトリソースが頻繁に変更される場合があります。これにより、カレンダーユーザーのデータに「取るに足らない」変更が生じる可能性があります。これは、ユーザー自身の参加ステータスに直接影響しないものです。これが発生した場合、クライアントはカレンダーデータをリロードし、カレンダーユーザーによって加えられた変更と調整する必要があります。これを回避するために、サーバーは代わりに、クライアントからのカレンダーデータの変更を、他のカレンダーユーザーが実行したスケジュール操作の結果として行われた変更とマージできます。

This specification introduces a new WebDAV resource property CALDAV: schedule-tag with a corresponding response header "Schedule-Tag", and a new "If-Schedule-Tag-Match" request header to allow client changes to be appropriately merged with server changes in the case where the changes on the server were the result of an "inconsequential" scheduling message update (one that simply updates the status information of "Attendees" due to a reply from another "Attendee").

この仕様では、新しいWebDAVリソースプロパティCALDAV:対応する応答ヘッダー "Schedule-Tag"を持つスケジュールタグと、新しい "If-Schedule-Tag-Match"リクエストヘッダーを導入して、クライアントの変更をサーバーの変更と適切にマージできるようにしますサーバー上の変更が「重要でない」スケジューリングメッセージ更新の結果であった場合(別の「参加者」からの応答により、単に「参加者」のステータス情報を更新するもの)。

Servers MUST automatically resolve conflicts with "inconsequential" changes done to scheduling object resources when the "If-Schedule-Tag-Match" request header is specified. The If-Schedule-Tag-Match request header applies only to the Request-URI, and not to the destination of a COPY or MOVE.

サーバーは、「If-Schedule-Tag-Match」リクエストヘッダーが指定されている場合、スケジューリングオブジェクトリソースに対して行われた「重要でない」変更との競合を自動的に解決する必要があります。 If-Schedule-Tag-Match要求ヘッダーは、Request-URIにのみ適用され、COPYまたはMOVEの宛先には適用されません。

A response to any successful GET or PUT request targeting a scheduling object resource MUST include a Schedule-Tag response header with the value set to the same value as the CALDAV:schedule-tag WebDAV property of the resource.

スケジューリングオブジェクトリソースを対象とする成功したGETまたはPUT要求への応答には、リソースのCALDAV:schedule-tag WebDAVプロパティと同じ値に設定された値を持つSchedule-Tag応答ヘッダーを含める必要があります。

A response to any successful COPY or MOVE request that specifies a Destination request header targeting a scheduling object resource MUST include a Schedule-Tag response header with the value set to the same value as the CALDAV:schedule-tag WebDAV property of the destination resource.

スケジューリングオブジェクトリソースをターゲットとするDestinationリクエストヘッダーを指定する、成功したCOPYまたはMOVEリクエストへのレスポンスには、宛先リソースのCALDAV:schedule-tag WebDAVプロパティと同じ値に設定された値を持つSchedule-Tagレスポンスヘッダーを含める必要があります。

Clients SHOULD use the If-Schedule-Tag-Match header on requests that update scheduling object resources, instead of HTTP ETag-based precondition tests (e.g., If-Match). Normal ETag-based precondition tests are used in all other cases, e.g., for synchronization.

クライアントは、HTTP ETagベースの前提条件テスト(If-Matchなど)ではなく、スケジューリングオブジェクトリソースを更新するリクエストでIf-Schedule-Tag-Matchヘッダーを使用する必要があります(SHOULD)。通常のETagベースの前提条件テストは、同期などの他のすべての場合に使用されます。

The value of the CALDAV:schedule-tag property changes according to these rules:

CALDAV:schedule-tagプロパティの値は、次のルールに従って変更されます。

o For an "Organizer's" copy of a scheduling object resource:

o スケジューリングオブジェクトリソースの「オーガナイザ」のコピーの場合:

1. The server MUST NOT change the CALDAV:schedule-tag property value when the scheduling object resource is updated as the result of automatically processing a scheduling message reply from an "Attendee". For instance, when an "Attendee" replies to the "Organizer", the CALDAV:schedule-tag property is unchanged after the "Organizer's" scheduling object resource has been automatically updated by the server with the "Attendee's" new participation status.

1. 「参加者」からのスケジューリングメッセージ応答を自動的に処理した結果、スケジューリングオブジェクトリソースが更新された場合、サーバーはCALDAV:schedule-tagプロパティ値を変更してはなりません(MUST NOT)。たとえば、「出席者」が「主催者」に返信する場合、「主催者」のスケジュールオブジェクトリソースが「出席者」の新しい参加ステータスでサーバーによって自動的に更新された後、CALDAV:schedule-tagプロパティは変更されません。

2. The server MUST change the CALDAV:schedule-tag property value when the scheduling object resource is changed directly via an HTTP request (e.g., PUT, COPY, or MOVE).

2. サーバーは、スケジューリングオブジェクトリソースがHTTPリクエスト(PUT、COPY、MOVEなど)を介して直接変更された場合、CALDAV:schedule-tagプロパティ値を変更する必要があります。

o For an "Attendee's" copy of a scheduling object resource:

o スケジュールオブジェクトリソースの「出席者」のコピーの場合:

1. The server MUST change the CALDAV:schedule-tag property value when the scheduling object resource is changed as the result of processing a scheduling message update from an "Organizer" that contains changes other than just the participation status of "Attendees".

1. 「出席者」の参加ステータス以外の変更を含む「オーガナイザ」からのスケジューリングメッセージの更新を処理した結果、スケジューリングオブジェクトリソースが変更された場合、サーバーはCALDAV:schedule-tagプロパティ値を変更する必要があります。

2. The server MUST NOT change the CALDAV:schedule-tag property value when the scheduling object resource is changed as the result of processing a scheduling message update from an "Organizer" that only specifies changes in the participation status of "Attendees". For instance, when "Attendee" "A" replies to "Organizer" "O", and "Attendee" "B" receives a scheduling message update from "Organizer" "O" with the new participation status of "Attendee" "A", the CALDAV:schedule-tag property of "Attendee" "B"'s scheduling object resource would remain the same.

2. 「出席者」の参加ステータスの変更のみを指定する「オーガナイザ」からのスケジューリングメッセージの更新を処理した結果、スケジューリングオブジェクトリソースが変更された場合、サーバーはCALDAV:schedule-tagプロパティ値を変更してはなりません。たとえば、「参加者」「A」が「オーガナイザ」「O」に返信し、「参加者」「B」が「オーガナイザ」「O」から新しい参加ステータス「Attendee」「A」でスケジュールメッセージの更新を受信した場合、「Attendee」「B」のスケジュールオブジェクトリソースのCALDAV:schedule-tagプロパティは同じままです。

3. The server MUST change the CALDAV:schedule-tag property value when the scheduling object resource is changed directly via an HTTP request (e.g., PUT, COPY, or MOVE).

3. サーバーは、スケジューリングオブジェクトリソースがHTTPリクエスト(PUT、COPY、MOVEなど)を介して直接変更された場合、CALDAV:schedule-tagプロパティ値を変更する必要があります。

3.2.10.1. PUT
3.2.10.1. 置く

Clients MAY use the If-Schedule-Tag-Match request header to do a PUT request that ensures that "inconsequential" changes on the server do not result in a precondition error. The value of the request header is set to the last Schedule-Tag value received for the resource being modified. If the value of the If-Schedule-Tag-Match header matches the current value of the CALDAV:schedule-tag property, the server MUST take any "ATTENDEE" property changes for all "Attendees" other than the owner of the scheduling object resource and apply those to the new resource being stored. Otherwise, the server MUST fail the request with a 412 Precondition Failed status code.

クライアントは、If-Schedule-Tag-Matchリクエストヘッダーを使用してPUTリクエストを実行し、サーバーでの「重要ではない」変更が前提条件エラーを引き起こさないようにすることができます。リクエストヘッダーの値は、変更中のリソースについて最後に受信したSchedule-Tag値に設定されます。 If-Schedule-Tag-Matchヘッダーの値がCALDAV:schedule-tagプロパティの現在の値と一致する場合、サーバーは、スケジュールオブジェクトリソースの所有者以外のすべての「出席者」について、「ATTENDEE」プロパティの変更を行う必要があります。保存されている新しいリソースにそれらを適用します。それ以外の場合、サーバーは412 Precondition Failedステータスコードでリクエストを失敗させる必要があります。

3.2.10.2. DELETE, COPY, or MOVE
3.2.10.2. 削除、コピー、または移動

Clients MAY use the If-Schedule-Tag-Match request header to do a DELETE, COPY, or MOVE request that ensures that "inconsequential" changes on the server do not result in a precondition error. The value of the request header is set to the last Schedule-Tag value received for the resource being deleted. If the value of the If-Schedule-Tag-Match header matches the current value of the CALDAV: schedule-tag property, the server performs the normal DELETE, COPY, or MOVE request processing for the resource. Otherwise, the server MUST fail the request with a 412 Precondition Failed status code.

クライアントは、If-Schedule-Tag-Matchリクエストヘッダーを使用してDELETE、COPY、またはMOVEリクエストを実行して、サーバー上で「重要でない」変更が前提条件エラーにならないようにすることができます。リクエストヘッダーの値は、削除されるリソースについて最後に受信したSchedule-Tag値に設定されます。 If-Schedule-Tag-Matchヘッダーの値がCALDAV:schedule-tagプロパティの現在の値と一致する場合、サーバーはリソースに対して通常のDELETE、COPY、またはMOVE要求処理を実行します。それ以外の場合、サーバーは412 Precondition Failedステータスコードでリクエストを失敗させる必要があります。

4. Processing Incoming Scheduling Messages
4. 着信スケジューリングメッセージの処理

Scheduling operations can cause the delivery of a scheduling message into an "Organizer's" or "Attendee's" scheduling Inbox collection. Servers MUST automatically process incoming scheduling messages using the rules defined by [RFC5546], by creating or updating the corresponding scheduling object resources on calendars owned by the owner of the scheduling Inbox collection. In addition, the scheduling message is stored in the scheduling Inbox collection as an indicator to the client that a scheduling operation has taken place. Scheduling messages are typically removed from the scheduling Inbox collection by the client once the calendar user has acknowledged the change.

スケジュール操作により、「主催者」または「参加者」のスケジュール受信ボックスコレクションにスケジュールメッセージが配信される可能性があります。サーバーは、[RFC5546]で定義されたルールを使用して、スケジューリング受信ボックスコレクションの所有者が所有するカレンダーで対応するスケジューリングオブジェクトリソースを作成または更新することにより、着信スケジューリングメッセージを自動的に処理する必要があります。さらに、スケジューリングメッセージは、スケジューリング操作が行われたことをクライアントに示すインジケータとして、スケジューリング受信ボックスコレクションに格納されます。通常、スケジュールメッセージは、カレンダーユーザーが変更を確認すると、クライアントによってスケジュール受信トレイコレクションから削除されます。

The server MUST take into account privileges on the scheduling Inbox collection when processing incoming scheduling messages, to determine whether delivery of the scheduling message is allowed. Privileges on calendars containing any matching scheduling object resource are not considered in this case (i.e., a schedule message from another user can cause modifications to resources in calendar collections that the other user would not normally have read or write access to). Additionally, servers MUST take into account any scheduling Inbox collection preconditions (see Section 2.2) when delivering the scheduling message, and MUST take into account the similar preconditions on any calendar collection that contains, or would contain, the corresponding scheduling object resource.

サーバーは、スケジューリングメッセージの配信が許可されているかどうかを判断するために、着信スケジューリングメッセージを処理するときに、スケジューリング受信トレイコレクションに対する特権を考慮しなければなりません。この場合、一致するスケジューリングオブジェクトリソースを含むカレンダーに対する権限は考慮されません(つまり、別のユーザーからのスケジュールメッセージにより、他のユーザーが通常は読み取りまたは書き込みアクセス権を持たないカレンダーコレクション内のリソースが変更される可能性があります。さらに、サーバーは、スケジューリングメッセージを配信するときに、スケジューリング受信トレイコレクションの前提条件(セクション2.2を参照)を考慮しなければならず、対応するスケジューリングオブジェクトリソースを含む、または含む予定のカレンダーコレクションの同様の前提条件を考慮しなければなりません。

4.1. Processing "Organizer" Requests, Additions, and Cancellations
4.1. 「オーガナイザー」リクエスト、追加、キャンセルの処理

For a scheduling message sent by an "Organizer", the server first tries to locate a corresponding scheduling object resource belonging to the "Attendee". If no matching scheduling object resource exists, the server treats the scheduling message as a new message; otherwise, it is treated as an update.

「オーガナイザ」から送信されたスケジューリングメッセージの場合、サーバーはまず、「参加者」に属する対応するスケジューリングオブジェクトリソースを見つけようとします。一致するスケジューリングオブジェクトリソースが存在しない場合、サーバーはスケジューリングメッセージを新しいメッセージとして扱います。それ以外の場合は、更新として扱われます。

In the case of a new message, the server processes the scheduling message and creates a new scheduling object resource as per Section 4.3.

新しいメッセージの場合、サーバーはスケジューリングメッセージを処理し、セクション4.3に従って新しいスケジューリングオブジェクトリソースを作成します。

In the case of an update, the server processes the scheduling message and updates the matching scheduling object resource belonging to the "Attendee" to reflect the changes sent by the "Organizer".

更新の場合、サーバーはスケジューリングメッセージを処理し、「出席者」に属する一致するスケジューリングオブジェクトリソースを更新して、「オーガナイザ」から送信された変更を反映します。

In each case, the scheduling message MUST only appear in the "Attendee's" scheduling Inbox collection once all automatic processing has been done.

いずれの場合も、すべての自動処理が完了した後にのみ、スケジュールメッセージが「参加者」のスケジュール受信ボックスコレクションに表示される必要があります。

4.2. Processing "Attendee" Replies
4.2. 「出席者」の返信の処理

For a scheduling message reply sent by an "Attendee", the server first locates the corresponding scheduling object resource belonging to the "Organizer". If the corresponding scheduling object resource cannot be found, the server SHOULD ignore the scheduling message.

「参加者」によって送信されたスケジューリングメッセージ応答の場合、サーバーはまず、「オーガナイザ」に属する対応するスケジューリングオブジェクトリソースを見つけます。対応するスケジューリングオブジェクトリソースが見つからない場合、サーバーはスケジューリングメッセージを無視する必要があります(SHOULD)。

The server MUST then update the "PARTSTAT" iCalendar property parameter value of each "ATTENDEE" iCalendar property in the scheduling object resource to match the changes indicated in the reply (taking into account the fact that an "Attendee" could have created a new overridden iCalendar component to indicate different participation status on one or more instances of a recurring event).

次に、サーバーは、スケジュールオブジェクトリソースの各「ATTENDEE」iCalendarプロパティの「PARTSTAT」iCalendarプロパティパラメータ値を更新して、応答に示されている変更と一致させる必要があります(「参加者」が新しいオーバーライドを作成した可能性があることを考慮に入れて)定期的なイベントの1つ以上のインスタンスのさまざまな参加ステータスを示すiCalendarコンポーネント)。

The server MUST also update or add the "SCHEDULE-STATUS" property parameter on each matching "ATTENDEE" iCalendar property and set its value to that of the "REQUEST-STATUS" property in the reply, or to "2.0" if "REQUEST-STATUS" is not present (also taking into account recurrence instances). If there are multiple "REQUEST-STATUS" properties in the reply, the "SCHEDULE-STATUS" property parameter value is set to a comma-separated list of status codes, one from each "REQUEST-STATUS" property.

サーバーは、一致する各「ATTENDEE」iCalendarプロパティの「SCHEDULE-STATUS」プロパティパラメータを更新または追加し、その値を応答の「REQUEST-STATUS」プロパティの値に設定する必要があります。「REQUEST- 「ステータス」は存在しません(繰り返しのインスタンスも考慮されます)。応答に複数の "REQUEST-STATUS"プロパティがある場合、 "SCHEDULE-STATUS"プロパティパラメータ値は、各 "REQUEST-STATUS"プロパティから1つずつ、コンマで区切られたステータスコードのリストに設定されます。

The server SHOULD send scheduling messages to all the other "Attendees" indicating the change in participation status of the "Attendee" replying, subject to the recurrence requirements of Section 3.2.6.

サーバーは、セクション3.2.6の繰り返し要件に従って、「出席者」の返信の参加ステータスの変更を示すスケジュールメッセージを他のすべての「出席者」に送信する必要があります(SHOULD)。

The scheduling message MUST only appear in the "Organizer's" scheduling Inbox collection once all automatic processing has been done.

スケジュールメッセージは、すべての自動処理が完了した後にのみ、「オーガナイザ」のスケジュール受信ボックスコレクションに表示される必要があります。

4.3. Default Calendar Collection
4.3. デフォルトのカレンダーコレクション

The server processes scheduling messages received for an "Attendee" by creating a new scheduling object resource in a calendar collection belonging to the "Attendee", when one does not already exist. A calendar user that is an "Attendee" in a scheduling operation MUST have at least one valid calendar collection available. If there is no valid calendar collection, then the server MUST reject the attempt to deliver the scheduling message to the "Attendee".

サーバーは、「出席者」に属するカレンダーコレクションに新しいスケジューリングオブジェクトリソースがまだ存在しない場合は、それを作成することにより、「出席者」に対して受信したスケジューリングメッセージを処理します。スケジュール操作の「参加者」であるカレンダーユーザーは、少なくとも1つの有効なカレンダーコレクションを使用できる必要があります。有効なカレンダーコレクションがない場合、サーバーは「参加者」にスケジュールメッセージを配信する試みを拒否する必要があります。

Servers MAY provide support for a default calendar collection -- that is, the calendar collection in which new scheduling object resources will be created. The CALDAV:schedule-default-calendar-URL WebDAV property, which can be present on the scheduling Inbox collection of a calendar user, specifies whether this calendar user has a default calendar collection. See Section 9.2.

サーバーは、デフォルトのカレンダーコレクション、つまり、新しいスケジューリングオブジェクトリソースが作成されるカレンダーコレクションをサポートする場合があります。 CALDAV:schedule-default-calendar-URL WebDAVプロパティは、カレンダーユーザーのスケジュール受信ボックスコレクションに存在でき、このカレンダーユーザーにデフォルトのカレンダーコレクションがあるかどうかを指定します。セクション9.2を参照してください。

Servers SHOULD create new scheduling object resources in the default calendar collection, if the CALDAV:schedule-default-calendar-URL WebDAV property is set.

CALDAV:schedule-default-calendar-URL WebDAVプロパティが設定されている場合、サーバーはデフォルトのカレンダーコレクションに新しいスケジューリングオブジェクトリソースを作成する必要があります(SHOULD)。

Servers MAY allow clients to change the default calendar collection by changing the value of the CALDAV:schedule-default-calendar-URL WebDAV property on the scheduling Inbox collection. However, the server MUST ensure that any new value for that property refers to a valid calendar collection belonging to the owner of the scheduling Inbox collection.

サーバーは、スケジュールされた受信トレイコレクションのCALDAV:schedule-default-calendar-URL WebDAVプロパティの値を変更することにより、クライアントがデフォルトのカレンダーコレクションを変更できるようにする場合があります。ただし、サーバーは、そのプロパティの新しい値が、スケジュールされている受信トレイコレクションの所有者に属する有効なカレンダーコレクションを参照していることを確認する必要があります。

Servers MUST reject any attempt to delete the default calendar collection.

サーバーは、デフォルトのカレンダーコレクションを削除する試みを拒否する必要があります。

4.3.1. Additional Method Preconditions
4.3.1. 追加のメソッドの前提条件

This specification defines additional method preconditions (see Section 16 of WebDAV [RFC4918]) to provide machine-parseable information in error responses.

この仕様では、追加のメソッド前提条件(WebDAV [RFC4918]のセクション16を参照)を定義して、エラー応答でマシンが解析可能な情報を提供します。

4.3.1.1. CALDAV:default-calendar-needed Precondition
4.3.1.1. CALDAV:default-calendar-needed前提条件

Name: default-calendar-needed

名前:default-calendar-needed

   Namespace:  urn:ietf:params:xml:ns:caldav
        

Apply to: DELETE

適用:DELETE

Use with: 403 Forbidden

との併用:403 Forbidden

Purpose: (precondition) -- The client attempted to delete the calendar collection currently referenced by the CALDAV:schedule-default-calendar-URL property, or attempted to remove the CALDAV: schedule-default-calendar-URL property on the scheduling Inbox collection on a server that doesn't allow such operations.

目的:(前提条件)-クライアントは、CALDAV:schedule-default-calendar-URLプロパティによって現在参照されているカレンダーコレクションを削除しようとしたか、スケジュール受信トレイコレクションのCALDAV:schedule-default-calendar-URLプロパティを削除しようとしましたこのような操作を許可しないサーバー上。

Definition:

定義:

     <!ELEMENT default-calendar-needed EMPTY>
        
4.3.1.2. CALDAV:valid-schedule-default-calendar-URL Precondition
4.3.1.2. CALDAV:valid-schedule-default-calendar-URL前提条件

Name: valid-schedule-default-calendar-URL

名前:valid-schedule-default-calendar-URL

   Namespace:  urn:ietf:params:xml:ns:caldav
        

Apply to: PROPPATCH Use with: 403 Forbidden

適用先:PROPPATCH使用先:403 Forbidden

Purpose: (precondition) -- The client attempted to set the CALDAV: schedule-default-calendar-URL property to a DAV:href element that doesn't reference a valid calendar collection. Note: Servers that do not allow clients to change the CALDAV:schedule-default-calendar-URL property would simply return the DAV:cannot-modify-protected-property precondition defined in Section 16 of WebDAV [RFC4918].

目的:(前提条件)-クライアントは、CALDAV:schedule-default-calendar-URLプロパティを、有効なカレンダーコレクションを参照しないDAV:href要素に設定しようとしました。注:クライアントによるCALDAV:schedule-default-calendar-URLプロパティの変更を許可しないサーバーは、WebDAV [RFC4918]のセクション16で定義されているDAV:cannot-modify-protected-property前提条件を返すだけです。

Definition:

定義:

     <!ELEMENT valid-schedule-default-calendar-URL EMPTY>
        
5. Request for Busy Time Information
5. ビジー時間情報のリクエスト

Busy time information of one or more calendar users can be determined by submitting a POST request targeted at the scheduling Outbox collection of the calendar user requesting the information (the "Organizer"). To accomplish this, the request body MUST contain a "VFREEBUSY" calendar component with the "METHOD" iCalendar property set to the value "REQUEST" as specified in Section 3.3.2 of iTIP [RFC5546]. The resource identified by the Request-URI MUST be a resource collection of type CALDAV:schedule-outbox (Section 2.1). The "ORGANIZER" property value in the "VFREEBUSY" component MUST match one of the calendar user addresses of the owner of the Outbox collection.

1人以上のカレンダユーザーのビジー時間情報は、情報を要求するカレンダユーザーのスケジュール送信トレイコレクション(「オーガナイザ」)を対象としたPOST要求を送信することで決定できます。これを実現するには、リクエスト本文に「VHOE」カレンダーコンポーネントを含める必要があります。このメソッドには、iTIP [RFC5546]のセクション3.3.2で指定されているように、「メソッド」のiCalendarプロパティが値「REQUEST」に設定されています。 Request-URIで識別されるリソースは、タイプCALDAV:schedule-outboxのリソースコレクションでなければなりません(セクション2.1)。 「VFREEBUSY」コンポーネントの「ORGANIZER」プロパティの値は、送信トレイコレクションの所有者のカレンダーユーザーアドレスの1つと一致する必要があります。

A response to a busy time request that indicates status for one or more calendar users MUST be an XML document with a CALDAV:schedule-response XML element as its root element. This element MUST contain one CALDAV:response element for each calendar user, with each such element in turn containing elements that indicate which calendar user they correspond to, the scheduling status for that calendar user, any error codes, and an optional description. For a successful busy time request, a CALDAV:calendar-data element is also present for each calendar user, containing the actual busy time information (i.e., an iCalendar "VFREEBUSY" component). See Section 10 for details on the child elements. See Appendix B.5 for an example busy time request and response.

1人以上のカレンダーユーザーのステータスを示すビジー時間要求への応答は、ルート要素としてCALDAV:schedule-response XML要素を持つXMLドキュメントである必要があります。この要素には、カレンダーユーザーごとに1つのCALDAV:response要素を含める必要があります。各要素には、対応するカレンダーユーザー、そのカレンダーユーザーのスケジュールステータス、エラーコード、およびオプションの説明を示す要素が含まれます。ビジー時間のリクエストが成功した場合、CALDAV:calendar-data要素も各カレンダーユーザーに存在し、実際のビジー時間の情報(iCalendar "VFREEBUSY"コンポーネントなど)が含まれます。子要素の詳細については、セクション10を参照してください。ビジー時間の要求と応答の例については、付録B.5を参照してください。

5.1. Status Codes
5.1. ステータスコード

The list below summarizes the most common status codes used for this method. However, clients need to be prepared to handle other 2/3/4/5xx series status codes as well.

以下のリストは、このメソッドで使用される最も一般的なステータスコードをまとめたものです。ただし、クライアントは他の2/3/4 / 5xxシリーズのステータスコードも処理できるように準備する必要があります。

200 (OK) - The command succeeded.

200(OK)-コマンドは成功しました。

204 (No Content) - The command succeeded.

204(コンテンツなし)-コマンドは成功しました。

400 (Bad Request) - The client has provided an invalid scheduling message.

400(不正な要求)-クライアントが無効なスケジューリングメッセージを提供しました。

403 (Forbidden) - The client cannot submit a scheduling message to the specified Request-URI.

403(禁止)-クライアントは、指定されたRequest-URIにスケジューリングメッセージを送信できません。

404 (Not Found) - The URL in the Request-URI was not present.

404(見つかりません)-Request-URIにURLがありませんでした。

423 (Locked) - The specified resource is locked, and the client either is not a lock owner or the lock type requires a lock token to be submitted and the client did not submit it.

423(ロック済み)-指定されたリソースはロックされており、クライアントはロック所有者ではないか、ロックタイプがロックトークンの送信を要求していて、クライアントがそれを送信していません。

5.2. Additional Method Preconditions
5.2. 追加のメソッドの前提条件

The following are existing preconditions that are reused for the POST method on an Outbox collection.

以下は、送信トレイコレクションのPOSTメソッドで再利用される既存の前提条件です。

o DAV:need-privileges [RFC3744]

o DAV:権限が必要[RFC3744]

o CALDAV:supported-calendar-data [RFC4791]

o CALDAV:supported-calendar-data [RFC4791]

o CALDAV:valid-calendar-data [RFC4791]

o CALDAV:valid-calendar-data [RFC4791]

o CALDAV:max-resource-size [RFC4791]

o CALDAV:max-resource-size [RFC4791]

The following are new method preconditions for the POST method on an Outbox collection.

以下は、送信トレイコレクションのPOSTメソッドの新しいメソッド前提条件です。

5.2.1. CALDAV:valid-scheduling-message Precondition
5.2.1. CALDAV:valid-scheduling-message前提条件

Name: valid-scheduling-message

名前:valid-scheduling-message

   Namespace:  urn:ietf:params:xml:ns:caldav
        

Apply to: POST

に適用:POST

Use with: 400 Bad Request Purpose: (precondition) -- The resource submitted in the POST request MUST obey all the restrictions specified in Section 3.3.2 of iTIP [RFC5546].

使用:400不正なリクエスト目的:(前提条件)-POSTリクエストで送信されたリソースは、iTIP [RFC5546]のセクション3.3.2で指定されたすべての制限に従う必要があります。

Definition:

定義:

     <!ELEMENT valid-scheduling-message EMPTY>
        
5.2.2. CALDAV:valid-organizer Precondition
5.2.2. CALDAV:valid-organizerの前提条件

Name: valid-organizer

名前:有効な主催者

   Namespace:  urn:ietf:params:xml:ns:caldav
        

Apply to: POST

に適用:POST

Use with: 403 Forbidden

との併用:403 Forbidden

Purpose: (precondition) -- The "ORGANIZER" property value in the POST request's scheduling message MUST match one of the calendar user addresses of the owner of the scheduling Outbox collection being targeted by the request.

目的:(前提条件)-POSTリクエストのスケジューリングメッセージの「ORGANIZER」プロパティ値は、リクエストのターゲットとなるスケジューリング送信トレイコレクションの所有者のカレンダーユーザーアドレスの1つと一致する必要があります。

Definition:

定義:

     <!ELEMENT valid-organizer EMPTY>
        
6. Scheduling Privileges
6. 特権のスケジュール

New scheduling privileges are defined in this section. All the scheduling privileges MUST be non-abstract and MUST appear in the DAV:supported-privilege-set property of scheduling Outbox and Inbox collections on which they are defined.

このセクションでは、新しいスケジューリング権限を定義します。すべてのスケジューリング特権は非抽象でなければならず、それらが定義されているスケジューリングOutboxおよびInboxコレクションのDAV:supported-privilege-setプロパティに出現する必要があります。

The tables specified in Appendix A clarify which scheduling methods (e.g., "REQUEST", "REPLY", etc.) are controlled by each scheduling privilege defined in this section.

付録Aで指定されている表は、このセクションで定義されている各スケジューリング特権によって制御されるスケジューリング方式(「REQUEST」、「REPLY」など)を明確にしています。

6.1. Privileges on Scheduling Inbox Collections
6.1. 受信ボックスコレクションのスケジュールに関する権限

This section defines new WebDAV Access Control List (ACL) [RFC3744] privileges that are defined for use on scheduling Inbox collections. These privileges determine whether delivery of scheduling messages from a calendar user is allowed by the calendar user who "owns" the scheduling Inbox collection. This allows calendar users to choose which other calendar users can schedule with them.

このセクションでは、受信ボックスコレクションのスケジュールで使用するために定義された新しいWebDAVアクセス制御リスト(ACL)[RFC3744]特権を定義します。これらの特権は、カレンダーユーザーからのスケジュールメッセージの配信が、スケジュール受信ボックスコレクションを「所有」しているカレンダーユーザーによって許可されるかどうかを決定します。これにより、カレンダーユーザーは、他のカレンダーユーザーと一緒にスケジュールを設定できます。

Note that when a scheduling message is delivered to a calendar user, in addition to a scheduling object resource being created in the calendar user's scheduling Inbox collection, a new scheduling object resource might be created or an existing one updated in a calendar belonging to the calendar user. In that case, the ability to create or update the scheduling object resource in the calendar is controlled by the privileges assigned to the scheduling Inbox collection.

スケジュールメッセージがカレンダーユーザーに配信されると、カレンダーユーザーのスケジュール受信ボックスコレクションでスケジュールオブジェクトリソースが作成されるだけでなく、新しいスケジュールオブジェクトリソースが作成されるか、カレンダーに属するカレンダーで既存のリソースが更新される場合があります。ユーザー。その場合、カレンダーでスケジュールオブジェクトリソースを作成または更新する機能は、スケジュール受信ボックスコレクションに割り当てられた特権によって制御されます。

The privileges defined in this section are ignored if applied to a resource other than a scheduling Inbox collection.

このセクションで定義された権限は、スケジュールされた受信ボックスコレクション以外のリソースに適用された場合は無視されます。

6.1.1. CALDAV:schedule-deliver Privilege
6.1.1. CALDAV:schedule-deliver Privilege

CALDAV:schedule-deliver is an aggregate privilege as per Section 6.3.

CALDAV:schedule-deliverは、セクション6.3に記載されている集約特権です。

     <!ELEMENT schedule-deliver EMPTY>
        
6.1.2. CALDAV:schedule-deliver-invite Privilege
6.1.2. CALDAV:schedule-deliver-invite特権

The CALDAV:schedule-deliver-invite privilege controls the processing and delivery of scheduling messages coming from an "Organizer".

CALDAV:schedule-deliver-invite特権は、「オーガナイザ」からのスケジューリングメッセージの処理と配信を制御します。

     <!ELEMENT schedule-deliver-invite EMPTY>
        
6.1.3. CALDAV:schedule-deliver-reply Privilege
6.1.3. CALDAV:schedule-deliver-reply Privilege

The CALDAV:schedule-deliver-reply privilege controls the processing and delivery of scheduling messages coming from an "Attendee".

CALDAV:schedule-deliver-reply特権は、「参加者」からのスケジューリングメッセージの処理と配信を制御します。

     <!ELEMENT schedule-deliver-reply EMPTY>
        
6.1.4. CALDAV:schedule-query-freebusy Privilege
6.1.4. CALDAV:schedule-query-freebusy特権

The CALDAV:schedule-query-freebusy privilege controls freebusy requests targeted at the owner of the scheduling Inbox collection.

CALDAV:schedule-query-freebusy特権は、スケジュール受信ボックスコレクションの所有者を対象とする空き時間要求を制御します。

     <!ELEMENT schedule-query-freebusy EMPTY>
        
6.2. Privileges on Scheduling Outbox Collections
6.2. 送信トレイコレクションのスケジュールに関する権限

This section defines new WebDAV ACL [RFC3744] privileges that are defined for use on scheduling Outbox collections. These privileges determine which calendar users are allowed to send scheduling messages on behalf of the calendar user who "owns" the scheduling Outbox collection. This allows calendar users to choose other calendar users who can act on their behalf (e.g., assistants working on behalf of their boss).

このセクションでは、送信トレイコレクションのスケジュールで使用するために定義された新しいWebDAV ACL [RFC3744]特権を定義します。これらの特権は、スケジュール送信トレイコレクションを「所有」しているカレンダーユーザーに代わって、どのカレンダーユーザーがスケジュールメッセージを送信できるかを決定します。これにより、カレンダーユーザーは、自分の代わりに行動できる他のカレンダーユーザーを選択できます(上司の代理で作業しているアシスタントなど)。

The privileges defined in this section are ignored if applied to a resource other than a scheduling Outbox collection.

このセクションで定義された権限は、スケジュールされた送信トレイコレクション以外のリソースに適用された場合は無視されます。

6.2.1. CALDAV:schedule-send Privilege
6.2.1. CALDAV:schedule-send Privilege

CALDAV:schedule-send is an aggregate privilege as per Section 6.3.

CALDAV:schedule-sendは、セクション6.3に記載されている集約特権です。

     <!ELEMENT schedule-send EMPTY>
        
6.2.2. CALDAV:schedule-send-invite Privilege
6.2.2. CALDAV:schedule-send-invite特権

The CALDAV:schedule-send-invite privilege controls the sending of scheduling messages by "Organizers".

CALDAV:schedule-send-invite特権は、「Organizers」によるスケジューリングメッセージの送信を制御します。

Users granted the DAV:bind privilege on a calendar collection, or the DAV:write privilege on scheduling object resources, will also need the CALDAV:schedule-send-invite privilege granted on the scheduling Outbox collection of the owner of the calendar collection or scheduling object resource in order to be allowed to create, modify, or delete scheduling object resources in a way that will trigger the CalDAV server to deliver scheduling messages to "Attendees".

カレンダーコレクションに対するDAV:bind特権、またはスケジュールオブジェクトリソースに対するDAV:write特権を付与されたユーザーは、カレンダーコレクションまたはスケジュールの所有者のスケジューリングOutboxコレクションに対して付与されたCALDAV:schedule-send-invite特権も必要です。 CalDAVサーバーが「参加者」にスケジューリングメッセージを配信するようにトリガーする方法で、スケジューリングオブジェクトリソースを作成、変更、または削除できるようにするためのオブジェクトリソース。

     <!ELEMENT schedule-send-invite EMPTY>
        
6.2.3. CALDAV:schedule-send-reply Privilege
6.2.3. CALDAV:schedule-send-reply Privilege

The CALDAV:schedule-send-reply privilege controls the sending of scheduling messages by "Attendees".

CALDAV:schedule-send-reply特権は、「出席者」によるスケジューリングメッセージの送信を制御します。

Users granted the DAV:bind privilege on a calendar collection, or the DAV:write privilege on scheduling object resources, will also need the CALDAV:schedule-send-reply privilege granted on the scheduling Outbox collection of the owner of the calendar collection or scheduling object resource in order to be allowed to create, modify, or delete scheduling object resources in a way that will trigger the CalDAV server to deliver scheduling message replies to the "Organizer".

カレンダーコレクションに対するDAV:bind特権、またはスケジュールオブジェクトリソースに対するDAV:write特権を付与されたユーザーには、カレンダーコレクションまたはスケジュールの所有者のスケジューリングOutboxコレクションに対して付与されたCALDAV:schedule-send-reply特権も必要です。 CalDAVサーバーが「Organizer」へのスケジューリングメッセージ応答を配信するようにトリガーする方法で、スケジューリングオブジェクトリソースを作成、変更、または削除できるようにするためのオブジェクトリソース。

     <!ELEMENT schedule-send-reply EMPTY>
        
6.2.4. CALDAV:schedule-send-freebusy Privilege
6.2.4. CALDAV:schedule-send-freebusy特権

The CALDAV:schedule-send-freebusy privilege controls the use of the POST method to submit scheduling messages that specify the scheduling method "REQUEST" with a "VFREEBUSY" calendar component.

CALDAV:schedule-send-freebusy特権は、POSTメソッドの使用を制御して、「VFREEBUSY」カレンダーコンポーネントで「REQUEST」というスケジューリングメソッドを指定するスケジューリングメッセージを送信します。

     <!ELEMENT schedule-send-freebusy EMPTY>
        
6.3. Aggregation of Scheduling Privileges
6.3. スケジューリング特権の集約

Server implementations MUST aggregate the scheduling privileges as follows:

サーバー実装は、次のようにスケジューリング特権を集約する必要があります。

      DAV:all contains CALDAV:schedule-deliver and CALDAV:schedule-send;
        
      CALDAV:schedule-deliver contains CALDAV:schedule-deliver-invite,
      CALDAV:schedule-deliver-reply, and CALDAV:schedule-query-freebusy;
        

CALDAV:schedule-send contains CALDAV:schedule-send-invite, CALDAV: schedule-send-reply, and CALDAV:schedule-send-freebusy.

CALDAV:schedule-sendには、CALDAV:schedule-send-invite、CALDAV:schedule-send-reply、およびCALDAV:schedule-send-freebusyが含まれています。

The following diagram illustrates how scheduling privileges are aggregated according to the above requirements.

次の図は、上記の要件に従ってスケジューリング特権がどのように集約されるかを示しています。

   [DAV:all] (aggregate)
       |
       +-- [CALDAV:schedule-deliver] (aggregate)
       |      |
       |      +-- [CALDAV:schedule-deliver-invite]
       |      +-- [CALDAV:schedule-deliver-reply]
       |      +-- [CALDAV:schedule-query-freebusy]
       |
       +-- [CALDAV:schedule-send] (aggregate)
              |
              +-- [CALDAV:schedule-send-invite]
              +-- [CALDAV:schedule-send-reply]
              +-- [CALDAV:schedule-send-freebusy]
        
7. Additional iCalendar Property Parameters
7. 追加のiCalendarプロパティパラメータ

This specification defines additional iCalendar property parameters to support the CalDAV scheduling extensions.

この仕様は、CalDAVスケジューリング拡張機能をサポートするための追加のiCalendarプロパティパラメータを定義します。

7.1. Schedule Agent Parameter
7.1. エージェントパラメータのスケジュール

Parameter Name: SCHEDULE-AGENT

パラメータ名:SCHEDULE-AGENT

Purpose: To specify the agent expected to deliver scheduling messages to the corresponding "Organizer" or "Attendee".

目的:対応する「Organizer」または「Attendee」にスケジューリングメッセージを配信する予定のエージェントを指定します。

Format Definition: This property parameter is defined by the following notation:

フォーマット定義:このプロパティパラメータは、次の表記法で定義されます。

     scheduleagentparam = "SCHEDULE-AGENT" "="
                      ("SERVER"      ; The server handles scheduling
                     / "CLIENT"      ; The client handles scheduling
                     / "NONE"        ; No scheduling
                     / x-name        ; Experimental type
                     / iana-token)   ; Other IANA-registered type
     ;
     ; If the parameter is not present, its value defaults to SERVER.
     ; "x-name" and "iana-token" are defined in Section 3.1 of
     ; [RFC5545].
        

Description: This property parameter MAY be specified on "ORGANIZER" or "ATTENDEE" iCalendar properties. In the absence of this parameter, the value "SERVER" MUST be used for the default behavior. The value determines whether or not a scheduling operation on a server will cause a scheduling message to be sent to the corresponding calendar user identified by the "ORGANIZER" or "ATTENDEE" property value. When the value "SERVER" is specified, or the parameter is absent, then it is the server's responsibility to send a scheduling message as part of a scheduling operation. When the value "CLIENT" is specified, that indicates that the client is handling scheduling messages with the calendar user itself. When "NONE" is specified, no scheduling messages are being sent to the calendar user.

説明:このプロパティパラメータは、「ORGANIZER」または「ATTENDEE」のiCalendarプロパティで指定できます。このパラメーターがない場合、デフォルトの動作には値「SERVER」を使用する必要があります。この値は、サーバーでのスケジュール操作により、「ORGANIZER」または「ATTENDEE」プロパティ値で識別される対応するカレンダーユーザーにスケジュールメッセージが送信されるかどうかを決定します。値 "SERVER"が指定されている場合、またはパラメーターが存在しない場合、サーバーは、スケジューリング操作の一部としてスケジューリングメッセージを送信する必要があります。値「CLIENT」が指定されている場合、それは、クライアントがカレンダユーザー自体と一緒にスケジューリングメッセージを処理していることを示します。 「NONE」を指定すると、スケジュールメッセージはカレンダーユーザーに送信されません。

Servers MUST NOT include this parameter in any scheduling messages sent as the result of a scheduling operation.

サーバーは、スケジューリング操作の結果として送信されるスケジューリングメッセージにこのパラメーターを含めてはなりません(MUST NOT)。

Clients MUST NOT include this parameter in any scheduling messages that they themselves send.

クライアントは、自分自身が送信するスケジューリングメッセージにこのパラメーターを含めてはなりません(MUST NOT)。

The parameter value MUST be the same on every "ORGANIZER" property in a scheduling object resource.

パラメータ値は、スケジューリングオブジェクトリソースのすべての「ORGANIZER」プロパティで同じでなければなりません。

The parameter value MUST be the same on each "ATTENDEE" property whose values match in a scheduling object resource.

パラメータ値は、スケジューリングオブジェクトリソースで値が一致する各「ATTENDEE」プロパティで同じでなければなりません。

Servers and clients MUST treat x-name and iana-token values they do not recognize the same way as they would the "NONE" value.

サーバーとクライアントは、認識しないx-nameとiana-tokenの値を、「NONE」の値と同じ方法で処理する必要があります。

Example:

例:

     ORGANIZER;SCHEDULE-AGENT=SERVER:mailto:bernard@example.com
     ATTENDEE;SCHEDULE-AGENT=NONE:mailto:cyrus@example.com
        
7.2. Schedule Force Send Parameter
7.2. 強制送信パラメータのスケジュール

Parameter Name: SCHEDULE-FORCE-SEND

パラメータ名:SCHEDULE-FORCE-SEND

Purpose: To force a scheduling message to be sent to the calendar user specified by the property.

目的:プロパティで指定されたカレンダーユーザーにスケジュールメッセージを強制的に送信します。

Format Definition: This property parameter is defined by the following notation:

フォーマット定義:このプロパティパラメータは、次の表記法で定義されます。

     scheduleforcesendparam = "SCHEDULE-FORCE-SEND" "="
                            ("REQUEST"    ; Force a "REQUEST"
                           / "REPLY"      ; Force a "REPLY"
                           / iana-token)
     ;
     ; "iana-token" is defined in Section 3.1 of [RFC5545].  Its value
     ; MUST be an IANA-registered iCalendar "METHOD" property value.
        

Description: This property parameter MAY be specified on "ATTENDEE" and "ORGANIZER" properties on which the "SCHEDULE-AGENT" property parameter is set to the value "SERVER" or is not specified. This property parameter is used to force a server to send a scheduling message to a specific calendar user in situations where the server would not send a scheduling message otherwise (e.g., when no change that warrants the delivery of a new scheduling message was performed on the scheduling object resource). An "Organizer" MAY specify this parameter on an "ATTENDEE" property with the value "REQUEST" to force a "REQUEST" scheduling message to be sent to this "Attendee". An "Attendee" MAY specify this parameter on the "ORGANIZER" with the value "REPLY" to force a "REPLY" scheduling message to be sent to the "Organizer".

説明:このプロパティー・パラメーターは、「SCHEDULE-AGENT」プロパティー・パラメーターが値「SERVER」に設定されているか、または指定されていない「ATTENDEE」および「ORGANIZER」プロパティーで指定される場合があります。このプロパティパラメータは、サーバーが他の方法でスケジュールメッセージを送信しない状況でサーバーに特定のカレンダーユーザーにスケジュールメッセージを送信するように強制するために使用されます(たとえば、新しいスケジュールメッセージの配信を保証する変更が実行されなかった場合)。スケジューリングオブジェクトリソース)。 「オーガナイザ」は、「REQUEST」という値を持つ「ATTENDEE」プロパティでこのパラメータを指定して、「REQUEST」スケジューリングメッセージをこの「出席者」に送信するように強制できます。 「出席者」は、「ORGANIZER」でこの値を「REPLY」に指定して、「REPLY」スケジューリングメッセージを「Organizer」に送信するように強制できます。

Servers MUST NOT preserve this property parameter in scheduling object resources, nor include it in any scheduling messages sent as the result of a scheduling operation.

サーバーは、このプロパティパラメータをスケジューリングオブジェクトリソースに保存してはならず、また、スケジューリング操作の結果として送信されるスケジューリングメッセージに含めてはなりません(MUST NOT)。

Clients MUST NOT include this parameter in any scheduling messages that they themselves send.

クライアントは、自分自身が送信するスケジューリングメッセージにこのパラメーターを含めてはなりません(MUST NOT)。

Servers MUST set the "SCHEDULE-STATUS" parameter of the "ATTENDEE" or "ORGANIZER" to 2.3 (i.e., "Success; invalid property parameter ignored"; see Section 3.6 of [RFC5546]) when the "SCHEDULE-FORCE-SEND" parameter is set to an iana-token value they do not recognize.

サーバーは、「SCHEDULE-FORCE-SEND」のときに、「ATTENDEE」または「ORGANIZER」の「SCHEDULE-STATUS」パラメータを2.3に設定する必要があります(つまり、「成功。無効なプロパティパラメータは無視されました」。[RFC5546]のセクション3.6を参照)。パラメータは、ユーザーが認識しないiana-token値に設定されています。

Example:

例:

     ORGANIZER;SCHEDULE-FORCE-SEND=REPLY:mailto:cyrus@example.com
     ATTENDEE;SCHEDULE-FORCE-SEND=REQUEST:mailto:bernard@example.com
        
7.3. Schedule Status Parameter
7.3. スケジュールステータスパラメータ

Parameter Name: SCHEDULE-STATUS

パラメータ名:SCHEDULE-STATUS

Purpose: To specify the status codes returned from processing of the most recent scheduling message sent to the corresponding "Attendee", or received from the corresponding "Organizer".

目的:対応する「参加者」に送信された、または対応する「オーガナイザ」から受信した最新のスケジューリングメッセージの処理から返されるステータスコードを指定します。

Format Definition: This property parameter is defined by the following notation:

フォーマット定義:このプロパティパラメータは、次の表記法で定義されます。

     schedulestatusparam = "SCHEDULE-STATUS" "="
                         ( statcode
                        / DQUOTE statcode *("," statcode) DQUOTE)
     ;
     ; "statcode" is defined in Section 3.8.8.3 of [RFC5545].  The
     ; value is a single "statcode" or a comma-separated list of
     ; "statcode" values.
        

Description: This property parameter MAY be specified on the "ATTENDEE" and "ORGANIZER" properties.

説明:このプロパティー・パラメーターは、「ATTENDEE」および「ORGANIZER」プロパティーで指定される場合があります。

Servers MUST only add or change this property parameter on any "ATTENDEE" properties corresponding to calendar users who were sent a scheduling message via a scheduling operation. Clients SHOULD NOT change or remove this parameter if it was provided by the server. In the case where the client is handling the scheduling, the client MAY add, change, or remove this parameter to indicate the last scheduling message status it received.

サーバーは、スケジュール操作を介してスケジュールメッセージを送信されたカレンダーユーザーに対応する「ATTENDEE」プロパティのこのプロパティパラメータのみを追加または変更する必要があります。サーバーから提供された場合、クライアントはこのパラメーターを変更または削除しないでください。クライアントがスケジューリングを処理している場合、クライアントはこのパラメーターを追加、変更、または削除して、受信した最後のスケジューリングメッセージのステータスを示すことができます(MAY)。

Servers MUST add this parameter to any "ORGANIZER" properties corresponding to calendar users who were sent a scheduling message reply by an "Attendee" via a scheduling operation. Clients SHOULD NOT change or remove this parameter if it was provided by the server. In the case where the client is handling the scheduling, the client MAY add, change, or remove this parameter to indicate the last scheduling message status it received.

サーバーは、このパラメーターを、スケジュール操作を介して「参加者」からスケジュールメッセージの返信を受け取ったカレンダーユーザーに対応する「ORGANIZER」プロパティに追加する必要があります。サーバーから提供された場合、クライアントはこのパラメーターを変更または削除しないでください。クライアントがスケジューリングを処理している場合、クライアントはこのパラメーターを追加、変更、または削除して、受信した最後のスケジューリングメッセージのステータスを示すことができます(MAY)。

Servers MUST NOT include this parameter in any scheduling messages sent as the result of a scheduling operation.

サーバーは、スケジューリング操作の結果として送信されるスケジューリングメッセージにこのパラメーターを含めてはなりません(MUST NOT)。

Clients MUST NOT include this parameter in any scheduling messages that they themselves send.

クライアントは、自分自身が送信するスケジューリングメッセージにこのパラメーターを含めてはなりません(MUST NOT)。

Values for this property parameter are described in Section 3.2.9.

このプロパティパラメータの値については、セクション3.2.9で説明します。

Example:

例:

     ATTENDEE;SCHEDULE-STATUS="2.0":mailto:bernard@example.com
     ATTENDEE;SCHEDULE-STATUS="2.0,2.4":mailto:cyrus@example.com
        
8. Additional Message Header Fields
8. 追加のメッセージヘッダーフィールド

This specification defines additional HTTP request and response headers for use with CalDAV.

この仕様は、CalDAVで使用するための追加のHTTP要求および応答ヘッダーを定義します。

8.1. Schedule-Reply Request Header
8.1. スケジュール応答要求ヘッダー
     Schedule-Reply = "Schedule-Reply" ":" ("T" | "F")
        

Example:

例:

Schedule-Reply: F

スケジュール応答:F

When an "Attendee" removes a scheduling object resource as per Section 3.2.2.4, and the Schedule-Reply header is set to the value "T" (true) or is not present, the server MUST send an appropriate reply scheduling message with the "Attendee's" "PARTSTAT" iCalendar property parameter value set to "DECLINED" as part of its normal scheduling operation processing.

「参加者」がセクション3.2.2.4に従ってスケジューリングオブジェクトリソースを削除し、Schedule-Replyヘッダーが値「T」(true)に設定されているか存在しない場合、サーバーは適切な応答スケジューリングメッセージを送信する必要があります。 「出席者」の「PARTSTAT」iCalendarプロパティパラメータ値は、通常のスケジュール操作処理の一部として「DECLINED」に設定されています。

When the Schedule-Reply header is set to the value "F" (false), the server MUST NOT send a scheduling message as part of its normal scheduling operation processing.

Schedule-Replyヘッダーが値 "F"(false)に設定されている場合、サーバーは通常のスケジューリング操作処理の一部としてスケジューリングメッセージを送信してはなりません(MUST NOT)。

The Schedule-Reply request header is used by a client to indicate to a server whether or not a scheduling operation ought to occur when an "Attendee" deletes a scheduling object resource. In particular, it controls whether a reply scheduling message is sent to the "Organizer" as a result of the removal. There are situations in which unsolicited scheduling messages need to be silently removed (or ignored) for security or privacy reasons. This request header allows the scheduling object resource to be removed if such a need arises.

Schedule-Replyリクエストヘッダーは、「出席者」がスケジューリングオブジェクトリソースを削除したときにスケジューリング操作を実行するかどうかをサーバーに示すためにクライアントによって使用されます。特に、削除の結果として返信スケジュールメッセージが「オーガナイザ」に送信されるかどうかを制御します。セキュリティまたはプライバシー上の理由から、一方的なスケジューリングメッセージをサイレントに削除(または無視)する必要がある状況があります。この要求ヘッダーにより、そのような必要が生じた場合にスケジューリングオブジェクトリソースを削除できます。

8.2. Schedule-Tag Response Header
8.2. スケジュールタグ応答ヘッダー

The Schedule-Tag response header provides the current value of the CALDAV:schedule-tag property value. The behavior of this response header is described in Section 3.2.10.

Schedule-Tag応答ヘッダーは、CALDAV:schedule-tagプロパティ値の現在の値を提供します。この応答ヘッダーの動作については、セクション3.2.10で説明しています。

All scheduling object resources MUST support the Schedule-Tag header.

すべてのスケジューリングオブジェクトリソースは、Schedule-Tagヘッダーをサポートする必要があります。

Schedule-Tag = "Schedule-Tag" ":" opaque-tag ; "opaque-tag" is defined in Section 3.11 of [RFC2616].

Schedule-Tag = "Schedule-Tag" ":" opaque-tag; 「不透明タグ」は、[RFC2616]のセクション3.11で定義されています。

Example:

例:

Schedule-Tag: "12ab34-cd56ef"

スケジュールタグ:「12ab34-cd56ef」

8.3. If-Schedule-Tag-Match Request Header
8.3. If-Schedule-Tag-Matchリクエストヘッダー

The If-Schedule-Tag-Match request header field is used with a method to make it conditional. Clients can set this header to the value returned in the Schedule-Tag response header, or the CALDAV:schedule-tag property, of a scheduling object resource previously retrieved from the server to avoid overwriting "consequential" changes to the scheduling object resource.

If-Schedule-Tag-Matchリクエストヘッダーフィールドは、条件付きにするためのメソッドで使用されます。クライアントは、このヘッダーを、以前にサーバーから取得したスケジュールオブジェクトリソースのSchedule-Tag応答ヘッダーまたはCALDAV:schedule-tagプロパティで返される値に設定して、スケジュールオブジェクトリソースへの「結果的」な変更の上書きを回避できます。

All scheduling object resources MUST support the If-Schedule-Tag-Match header.

すべてのスケジューリングオブジェクトリソースは、If-Schedule-Tag-Matchヘッダーをサポートする必要があります。

If-Schedule-Tag-Match = "If-Schedule-Tag-Match" ":" opaque-tag ; "opaque-tag" is defined in Section 3.11 of [RFC2616].

If-Schedule-Tag-Match = "If-Schedule-Tag-Match" ":"不透明なタグ; 「不透明タグ」は、[RFC2616]のセクション3.11で定義されています。

Example:

例:

If-Schedule-Tag-Match: "12ab34-cd56ef"

If-Schedule-Tag-Match: "12ab34-cd56ef"

9. Additional WebDAV Properties
9. 追加のWebDAVプロパティ

This specification defines the following new WebDAV properties for use with CalDAV.

この仕様では、CalDAVで使用する次の新しいWebDAVプロパティを定義しています。

9.1. CALDAV:schedule-calendar-transp Property
9.1. CALDAV:schedule-calendar-transpプロパティ

Name: schedule-calendar-transp

名前:schedule-calendar-transp

   Namespace:  urn:ietf:params:xml:ns:caldav
        

Purpose: Determines whether the calendar object resources in a calendar collection will affect the owner's busy time information.

目的:カレンダーコレクションのカレンダーオブジェクトリソースが所有者のビジー時間情報に影響を与えるかどうかを決定します。

Protected: This property MAY be protected and SHOULD NOT be returned by a PROPFIND DAV:allprop request (as defined in Section 14.2 of [RFC4918]).

保護されている:このプロパティは保護される場合があり(PROCIND DAV:allpropリクエスト([RFC4918]のセクション14.2で定義されているとおり))によって返されるべきではない(SHOULD NOT)。

COPY/MOVE behavior: This property value SHOULD be kept during a MOVE operation, and SHOULD be copied and preserved in a COPY.

COPY / MOVE動作:このプロパティ値は、MOVE操作中も保持する必要があり(SHOULD)、COPYにコピーして保存する必要があります(SHOULD)。

Description: This property SHOULD be defined on all calendar collections. If present, it contains one of two XML elements that indicate whether the calendar object resources in the calendar collection ought to contribute to the owner's busy time. When the CALDAV:opaque element is used, all calendar object resources in the corresponding calendar collection MUST contribute to busy time, assuming that access privileges and other iCalendar properties allow it to. When the CALDAV:transparent XML element is used, the calendar object resources in the corresponding calendar collection MUST NOT contribute to busy time.

説明:このプロパティは、すべてのカレンダーコレクションで定義する必要があります(SHOULD)。存在する場合は、カレンダーコレクション内のカレンダーオブジェクトリソースが所有者のビジー時間に寄与する必要があるかどうかを示す2つのXML要素の1つが含まれます。 CALDAV:opaque要素を使用する場合、対応するカレンダーコレクションのすべてのカレンダーオブジェクトリソースは、アクセス権限と他のiCalendarプロパティで許可されていると仮定して、ビジー時間に貢献する必要があります。 CALDAV:transparent XML要素が使用されている場合、対応するカレンダーコレクションのカレンダーオブジェクトリソースがビジー時間に寄与してはなりません(MUST NOT)。

If this property is not present on a calendar collection, then the default value CALDAV:opaque MUST be assumed.

このプロパティがカレンダーコレクションに存在しない場合、デフォルト値CALDAV:opaqueを想定する必要があります。

Definition:

定義:

     <!ELEMENT schedule-calendar-transp (opaque | transparent)>
        
     <!ELEMENT opaque EMPTY>
     <!-- Affects busy time searches -->
        
     <!ELEMENT transparent EMPTY>
     <!-- Invisible to busy time searches -->
        

Example:

例:

     <C:schedule-calendar-transp
          xmlns:C="urn:ietf:params:xml:ns:caldav">
       <C:opaque/>
     </C:schedule-calendar-transp>
        
9.2. CALDAV:schedule-default-calendar-URL Property
9.2. CALDAV:schedule-default-calendar-URLプロパティ

Name: schedule-default-calendar-URL

名前:schedule-default-calendar-URL

   Namespace:  urn:ietf:params:xml:ns:caldav
        

Purpose: Specifies a default calendar for an "Attendee" where new scheduling object resources are created.

目的:新しいスケジュールオブジェクトリソースが作成される「出席者」のデフォルトのカレンダーを指定します。

Protected: This property MAY be protected in the case where a server does not support changing the default calendar, or does not support a default calendar.

保護:このプロパティは、サーバーがデフォルトカレンダーの変更をサポートしていない場合、またはデフォルトカレンダーをサポートしていない場合に保護される場合があります。

COPY/MOVE behavior: This property is only defined on a scheduling Inbox collection that cannot be moved or copied.

コピー/移動の動作:このプロパティは、移動またはコピーできないスケジュール受信ボックスコレクションでのみ定義されます。

Description: This property MAY be defined on a scheduling Inbox collection. If present, it contains zero or one DAV:href XML elements. When a DAV:href element is present, its value indicates a URL to a calendar collection that is used as the default calendar. When no DAV:href element is present, it indicates that there is no default calendar. In the absence of this property, there is no default calendar. When there is no default calendar, the server is free to choose the calendar in which a new scheduling object resource is created. See Section 4.3.

説明:このプロパティは、スケジュール受信ボックスコレクションで定義される場合があります。存在する場合、ゼロまたは1つのDAV:href XML要素が含まれます。 DAV:href要素が存在する場合、その値は、デフォルトのカレンダーとして使用されるカレンダーコレクションへのURLを示します。 DAV:href要素がない場合、デフォルトのカレンダーがないことを示します。このプロパティがない場合、デフォルトのカレンダーはありません。デフォルトのカレンダーがない場合、サーバーは新しいスケジューリングオブジェクトリソースが作成されるカレンダーを自由に選択できます。セクション4.3を参照してください。

Definition:

定義:

     <!ELEMENT schedule-default-calendar-URL (DAV:href?)>
        

Example:

例:

     <C:schedule-default-calendar-URL xmlns:D="DAV:"
         xmlns:C="urn:ietf:params:xml:ns:caldav">
       <D:href>/home/cyrus/calendars/work/</D:href>
     </C:schedule-default-calendar-URL>
        
9.3. CALDAV:schedule-tag Property
9.3. CALDAV:schedule-tagプロパティ

Name: schedule-tag

名前:スケジュールタグ

   Namespace:  urn:ietf:params:xml:ns:caldav
        

Purpose: Indicates whether a scheduling object resource has had a "consequential" change made to it.

目的:スケジューリングオブジェクトリソースに「結果的な」変更が加えられたかどうかを示します。

Value: opaque-tag (defined in Section 3.11 of [RFC2616])

値:不透明タグ([RFC2616]のセクション3.11で定義)

Protected: This property MUST be protected, as only the server can update the value.

保護:サーバーのみが値を更新できるため、このプロパティは保護する必要があります。

COPY/MOVE behavior: This property value is determined by the server and MAY be different from the value on the source resource.

コピー/移動の動作:このプロパティ値はサーバーによって決定され、ソースリソースの値とは異なる場合があります。

Description: The CALDAV:schedule-tag property MUST be defined on all scheduling object resources. This property is described in Section 3.2.10.

説明:CALDAV:schedule-tagプロパティは、すべてのスケジューリングオブジェクトリソースで定義する必要があります。このプロパティについては、セクション3.2.10で説明しています。

Definition:

定義:

     <!ELEMENT schedule-tag (#PCDATA)>
        

Example:

例:

     <C:schedule-tag xmlns:C="urn:ietf:params:xml:ns:caldav"
     >"12345-67890"</C:schedule-tag>
        
10. XML Element Definitions
10. XML要素の定義
10.1. CALDAV:schedule-response XML Element
10.1. CALDAV:schedule-response XML要素

Name: schedule-response

名前:スケジュール応答

   Namespace:  urn:ietf:params:xml:ns:caldav
        

Purpose: Contains the set of responses for a POST method request.

目的:POSTメソッド要求に対する一連の応答が含まれます。

Description: See Section 5.

説明:セクション5を参照してください。

Definition:

定義:

     <!ELEMENT schedule-response (response*)>
        
10.2. CALDAV:response XML Element
10.2. CALDAV:応答XML要素

Name: response

名前:応答

   Namespace:  urn:ietf:params:xml:ns:caldav
        

Purpose: Contains a single response for a POST method request.

目的:POSTメソッド要求に対する単一の応答を含みます。

Description: See Section 5.

説明:セクション5を参照してください。

Definition:

定義:

<!ELEMENT response (recipient, request-status, calendar-data?, DAV:error?, DAV:responsedescription?)>

<!ELEMENT応答(recipient、request-status、calendar-data?、DAV:error?、DAV:responsedescription?)>

     <!-- CALDAV:calendar-data is defined in Section 9.6 of
     RFC 4791 and when used here uses the definition with
     content (#PCDATA) only. -->
        
10.3. CALDAV:recipient XML Element
10.3. CALDAV:受信者XML要素

Name: recipient

名前:受信者

Namespace: urn:ietf:params:xml:ns:caldav Purpose: The calendar user address that the enclosing response for a POST method request is for.

名前空間:urn:ietf:params:xml:ns:caldav目的:POSTメソッドリクエストの応答を囲むカレンダーユーザーのアドレス。

Description: See Section 5.

説明:セクション5を参照してください。

Definition:

定義:

     <!ELEMENT recipient (DAV:href)>
        
10.4. CALDAV:request-status XML Element
10.4. CALDAV:request-status XML要素

Name: request-status

名前:リクエストステータス

   Namespace:  urn:ietf:params:xml:ns:caldav
        

Purpose: The iTIP "REQUEST-STATUS" property value for this response.

目的:この応答のiTIP "REQUEST-STATUS"プロパティ値。

Description: See Section 5.

説明:セクション5を参照してください。

Definition:

定義:

     <!ELEMENT request-status (#PCDATA)>
        
11. Security Considerations
11. セキュリティに関する考慮事項

The process of scheduling involves the sending and receiving of scheduling messages. As a result, the security problems related to messaging in general are relevant here. In particular, the authenticity of the scheduling messages needs to be verified. Servers and clients MUST use an HTTP connection protected with Transport Layer Security (TLS) as defined in [RFC2818] for all scheduling operations. Clients MUST use the procedures detailed in Section 6 of [RFC6125] to verify the authenticity of the server. Servers MUST make use of HTTP authentication [RFC2617] to verify the authenticity of the calendar user for whom the client is sending requests.

スケジューリングのプロセスには、スケジューリングメッセージの送信と受信が含まれます。結果として、メッセージング全般に関連するセキュリティの問題がここに関係します。特に、スケジューリングメッセージの信頼性を検証する必要があります。サーバーとクライアントは、すべてのスケジューリング操作に対して[RFC2818]で定義されているトランスポート層セキュリティ(TLS)で保護されたHTTP接続を使用する必要があります。クライアントは、[RFC6125]のセクション6に詳述されている手順を使用して、サーバーの信頼性を検証する必要があります。サーバーは、HTTP認証[RFC2617]を使用して、クライアントがリクエストを送信しているカレンダーユーザーの信頼性を検証する必要があります。

11.1. Preventing Denial-of-Service Attacks
11.1. サービス拒否攻撃の防止

Servers MUST ensure that clients cannot consume excessive server resources by carrying out "large" scheduling operations. In particular, servers SHOULD enforce CALDAV:max-resource-size, CALDAV: max-instances, and CALDAV:max-attendees-per-instance preconditions as applicable for scheduling Inbox and Outbox collections.

サーバーは、「大規模な」スケジューリング操作を実行することにより、クライアントが過剰なサーバーリソースを消費できないようにする必要があります。特に、サーバーはCALDAV:max-resource-size、CALDAV:max-instances、およびCALDAV:max-attendees-per-instanceの前提条件を、受信トレイと送信トレイのコレクションのスケジュールに適用できるように適用する必要があります(SHOULD)。

11.2. Verifying Scheduling Operations
11.2. スケジューリング操作の確認

When handling a scheduling operation:

スケジューリング操作を処理する場合:

1. Servers MUST verify that the principal associated with the DAV: owner of the calendar collection in which a scheduling object resource is being manipulated contains a CALDAV:schedule-outbox-URL property value.

1. サーバーは、スケジュールオブジェクトリソースが操作されているカレンダーコレクションのDAV:ownerに関連付けられたプリンシパルに、CALDAV:schedule-outbox-URLプロパティ値が含まれていることを確認する必要があります。

2. Servers MUST verify that the currently authenticated user has the CALDAV:schedule-send privilege, or a sub-privilege aggregated under this privilege, on the scheduling Outbox collection of the DAV:owner of the calendar collection in which a scheduling object resource is being manipulated.

2. サーバーは、現在認証されているユーザーが、スケジュールオブジェクトリソースが操作されているカレンダーコレクションのDAV:ownerのスケジューリングOutboxコレクションに対して、CALDAV:schedule-send特権、またはこの特権に集約されたサブ特権を持っていることを確認する必要があります。 。

3. Servers MUST only deliver scheduling messages to recipients when the CALDAV:schedule-deliver privilege, or a sub-privilege aggregated under this privilege, is granted on the recipient's scheduling Inbox collection for the principal associated with the DAV:owner of the calendar collection in which a scheduling object resource is being manipulated.

3. サーバーは、CALDAV:schedule-deliver特権、またはこの特権に基づいて集約されたサブ特権が、カレンダーコレクションのDAV:ownerに関連付けられたプリンシパルの受信者のスケジュール受信ボックスコレクションに付与されている場合にのみ、受信者にスケジュールメッセージを配信する必要があります。スケジューリングオブジェクトリソースが操作されています。

4. To prevent impersonation of calendar users, the server MUST verify that the "ORGANIZER" property in an organizer scheduling object resource matches one of the calendar user addresses of the DAV:owner of the calendar collection in which the resource is stored.

4. カレンダーユーザーの偽装を防ぐために、サーバーは、オーガナイザースケジュールオブジェクトリソースの「ORGANIZER」プロパティが、リソースが格納されているカレンダーコレクションのDAV:ownerのカレンダーユーザーアドレスの1つと一致することを確認する必要があります。

5. To prevent spoofing of an existing scheduling object resource, servers MUST verify that the "UID" iCalendar property value in a new scheduling object resource does not match that of an existing scheduling object resource with a different "ORGANIZER" property value.

5. 既存のスケジューリングオブジェクトリソースのスプーフィングを防ぐために、サーバーは、新しいスケジューリングオブジェクトリソースの「UID」iCalendarプロパティ値が、異なる「ORGANIZER」プロパティ値を持つ既存のスケジューリングオブジェクトリソースの値と一致しないことを確認する必要があります。

11.3. Verifying Busy Time Information Requests
11.3. ビジー時間情報要求の確認

When handling a POST request on a scheduling Outbox collection:

スケジュールされた送信トレイコレクションでPOSTリクエストを処理する場合:

1. Servers MUST verify that the principal associated with the calendar user address specified in the "ORGANIZER" property of the scheduling message data in the request contains a CALDAV: schedule-outbox-URL property value that matches the scheduling Outbox collection targeted by the request.

1. サーバーは、リクエストのスケジューリングメッセージデータの「ORGANIZER」プロパティで指定されたカレンダーユーザーアドレスに関連付けられたプリンシパルに、リクエストのターゲットとなるスケジューリングOutboxコレクションと一致するCALDAV:schedule-outbox-URLプロパティ値が含まれていることを確認する必要があります。

2. Servers MUST verify that the currently authenticated user has the CALDAV:schedule-send privilege, or a sub-privilege aggregated under this privilege, on the scheduling Outbox collection targeted by the request.

2. サーバーは、現在認証されているユーザーが、CALDAV:schedule-send特権、またはこの特権のもとで集約されたサブ特権を、要求の対象となるスケジューリングOutboxコレクションに対して確認する必要があります。

3. Servers MUST only return valid freebusy information for recipients when the CALDAV:schedule-deliver privilege, or a sub-privilege aggregated under this privilege, is granted on the recipient's scheduling Inbox collection for the principal associated with the DAV:owner of the scheduling Outbox collection targeted by the request.

3. サーバーは、CALDAV:schedule-deliver特権、またはこの特権の下で集約されたサブ特権が、スケジュール送信トレイコレクションのDAV:ownerに関連付けられたプリンシパルの受信者のスケジュール受信トレイコレクションに付与されている場合にのみ、受信者の有効な空き時間情報を返さなければなりませんリクエストのターゲット。

11.4. Privacy Issues
11.4. プライバシー問題

This specification only defines how calendar users on the same server are able to schedule with each other -- unauthenticated users have no way to carry out scheduling operations. Access control privileges (as per Section 6) can control which of those users can schedule with others. Calendar users not wishing to expose their calendar information to other users can do so by denying privileges to specific users, or all users, for all scheduling operations, or perhaps only freebusy.

この仕様は、同じサーバー上のカレンダユーザーが互いにスケジュールできる方法のみを定義します。認証されていないユーザーは、スケジュール操作を実行する方法がありません。アクセス制御特権(セクション6に従って)は、それらのユーザーのどれが他のユーザーとスケジュールできるかを制御できます。自分のカレンダー情報を他のユーザーに公開したくないカレンダーユーザーは、特定のユーザーまたはすべてのユーザーに対して、すべてのスケジュール操作、またはおそらく空き時間のみの特権を拒否することにより、それを行うことができます。

"Attendees" can also use the Schedule-Reply request header (Section 8.1) with the value set to "F" to prevent notification to an "Organizer" that a scheduling object resource was deleted. This allows "Attendees" to remove unwanted scheduling messages without any response to the "Organizer".

"参加者"は、値が "F"に設定されたSchedule-Reply要求ヘッダー(セクション8.1)を使用して、スケジューリングオブジェクトリソースが削除されたことを "主催者"に通知しないようにすることもできます。これにより、「出席者」は「オーガナイザ」に応答せずに不要なスケジュールメッセージを削除できます。

Servers MUST NOT expose any private iCalendar data, or WebDAV resource state information (URLs, WebDAV properties, etc.) for one calendar user to another via scheduling messages or error responses to scheduling operations. In particular, as per Section 8.1 of [RFC4918], authorization errors MUST take preference over other errors.

サーバーは、スケジューリングメッセージまたはスケジューリング操作へのエラー応答を介して、あるカレンダーユーザーのプライベートiCalendarデータまたはWebDAVリソース状態情報(URL、WebDAVプロパティなど)を別のカレンダーユーザーに公開してはなりません(MUST NOT)。特に、[RFC4918]のセクション8.1に従って、承認エラーは他のエラーよりも優先する必要があります。

11.5. Mitigation of iTIP Threats
11.5. iTIP脅威の軽減

Section 6.1 of iTIP [RFC5546] defines a set of potential threats in a scheduling system, and Section 6.2 of [RFC5546] defines recommendations on how those can be addressed in protocols using iTIP. This specification addresses the iTIP threats in the following manner:

iTIP [RFC5546]のセクション6.1は、スケジューリングシステムにおける一連の潜在的な脅威を定義し、[RFC5546]のセクション6.2は、iTIPを使用するプロトコルでそれらに対処する方法に関する推奨事項を定義します。この仕様は、以下の方法でiTIPの脅威に対処します。

Spoofing the "Organizer": Addressed by item 4 in Section 11.2.

Spoofing the "Organizer": Addressed by item 4 in Section 11.2.

Spoofing the "Attendee": Addressed by Section 3.2.2.1 and item 2 in Section 11.2.

「参加者」のなりすまし:セクション3.2.2.1およびセクション11.2のアイテム2で対処。

Unauthorized Replacement of the "Organizer": Addressed by item 5 in Section 11.2.

Unauthorized Replacement of the "Organizer": Addressed by item 5 in Section 11.2.

Eavesdropping and Data Integrity: Addressed by requiring TLS.

盗聴とデータ整合性:TLSを要求することで対処されます。

Flooding a Calendar: Addressed by requirements in Section 11.1.

カレンダーをあふれさせる:セクション11.1の要件で対処します。

Unauthorized REFRESH Requests: This specification does not support the REFRESH method.

無許可のREFRESH要求:この仕様はREFRESHメソッドをサポートしていません。

12. IANA Considerations
12. IANAに関する考慮事項
12.1. Message Header Field Registrations
12.1. メッセージヘッダーフィールドの登録

The message header fields below have been added to the Permanent Message Header Field Registry (see [RFC3864]).

以下のメッセージヘッダーフィールドが永続メッセージヘッダーフィールドレジストリに追加されました([RFC3864]を参照)。

12.1.1. Schedule-Reply
12.1.1. スケジュール返信

Header field name: Schedule-Reply

ヘッダーフィールド名:Schedule-Reply

Applicable protocol: http

該当するプロトコル:http

Status: standard

ステータス:標準

Author/Change controller: IETF

Author/Change controller: IETF

Specification document(s): this specification (Section 8.1)

仕様書:この仕様(セクション8.1)

Related information: none

関連情報:なし

12.1.2. Schedule-Tag
12.1.2. スケジュールタグ

Header field name: Schedule-Tag

ヘッダーフィールド名:Schedule-Tag

Applicable protocol: http

該当するプロトコル:http

Status: standard

ステータス:標準

Author/Change controller: IETF

作成者/変更コントローラ:IETF

Specification document(s): this specification (Section 8.2)

仕様書:この仕様(セクション8.2)

Related information: none

関連情報:なし

12.1.3. If-Schedule-Tag-Match
12.1.3. If-Schedule-Tag-Match

Header field name: If-Schedule-Tag-Match

ヘッダーフィールド名:If-Schedule-Tag-Match

Applicable protocol: http

該当するプロトコル:http

Status: standard Author/Change controller: IETF

ステータス:標準の作成者/変更コントローラ:IETF

Specification document(s): this specification (Section 8.3)

仕様書:この仕様(セクション8.3)

Related information: none

関連情報:なし

12.2. iCalendar Property Parameter Registrations
12.2. iCalendarプロパティパラメータの登録

The following iCalendar property parameter names have been added to the iCalendar Parameters Registry defined in Section 8.3.3 of [RFC5545].

[RFC5545]のセクション8.3.3で定義されているiCalendarパラメータレジストリに、次のiCalendarプロパティパラメータ名が追加されました。

         +---------------------+---------+-----------------------+
         | Parameter           | Status  | Reference             |
         +---------------------+---------+-----------------------+
         | SCHEDULE-AGENT      | Current | RFC 6638, Section 7.1 |
         |                     |         |                       |
         | SCHEDULE-STATUS     | Current | RFC 6638, Section 7.3 |
         |                     |         |                       |
         | SCHEDULE-FORCE-SEND | Current | RFC 6638, Section 7.2 |
         +---------------------+---------+-----------------------+
        
12.3. iCalendar REQUEST-STATUS Value Registrations
12.3. iCalendar REQUEST-STATUS値の登録

The following iCalendar "REQUEST-STATUS" values have been added to the iCalendar REQUEST-STATUS Value Registry defined in Section 7.3 of [RFC5546].

[RFC5546]のセクション7.3で定義されているiCalendar REQUEST-STATUS値レジストリに、次のiCalendar "REQUEST-STATUS"値が追加されました。

           +-------------+---------+---------------------------+
           | Status Code | Status  | Reference                 |
           +-------------+---------+---------------------------+
           | 1.0         | Current | RFC 6638, Section 3.2.9.1 |
           |             |         |                           |
           | 1.1         | Current | RFC 6638, Section 3.2.9.2 |
           |             |         |                           |
           | 1.2         | Current | RFC 6638, Section 3.2.9.3 |
           +-------------+---------+---------------------------+
        
12.4. Additional iCalendar Elements Registries
12.4. Additional iCalendar Elements Registries

Per this specification, two new IANA registries for iCalendar elements have been added. Additional codes MAY be used, provided the process described in Section 8.2.1 of [RFC5545] is used to register them.

この仕様に従って、iCalendar要素用の2つの新しいIANAレジストリが追加されました。 [RFC5545]のセクション8.2.1で説明されているプロセスを使用してコードを登録する場合、追加のコードを使用できます。

12.4.1. Schedule Agent Values Registry
12.4.1. エージェント値レジストリのスケジュール

The following table has been used to initialize the Schedule Agent Values Registry.

次の表は、Schedule Agent Values Registryを初期化するために使用されています。

           +----------------+---------+-----------------------+
           | Schedule Agent | Status  | Reference             |
           +----------------+---------+-----------------------+
           | SERVER         | Current | RFC 6638, Section 7.1 |
           |                |         |                       |
           | CLIENT         | Current | RFC 6638, Section 7.1 |
           |                |         |                       |
           | NONE           | Current | RFC 6638, Section 7.1 |
           +----------------+---------+-----------------------+
        
12.4.2. Schedule Force Send Values Registry
12.4.2. 強制送信値レジストリのスケジュール

The following table has been used to initialize the Schedule Force Send Values Registry.

次の表は、スケジュール強制送信値レジストリの初期化に使用されています。

         +---------------------+---------+-----------------------+
         | Schedule Force Send | Status  | Reference             |
         +---------------------+---------+-----------------------+
         | REQUEST             | Current | RFC 6638, Section 7.2 |
         |                     |         |                       |
         | REPLY               | Current | RFC 6638, Section 7.2 |
         +---------------------+---------+-----------------------+
        
13. Acknowledgements
13. 謝辞

The authors would like to thank the following individuals for contributing their ideas and support for writing this specification: Mike Douglass, Lisa Dusseault, Red Dutta, Jacob Farkas, Jeffrey Harris, Helge Hess, Eliot Lear, Andrew McMillan, Alexey Melnikov, Arnaud Quillaud, Julian F. Reschke, Wilfredo Sanchez Vega, and Simon Vaillancourt.

The authors would like to thank the following individuals for contributing their ideas and support for writing this specification: Mike Douglass, Lisa Dusseault, Red Dutta, Jacob Farkas, Jeffrey Harris, Helge Hess, Eliot Lear, Andrew McMillan, Alexey Melnikov, Arnaud Quillaud, Julian F. Reschke, Wilfredo Sanchez Vega, and Simon Vaillancourt.

The authors would also like to thank the Calendaring and Scheduling Consortium for advice with this specification, and for organizing interoperability testing events to help refine it.

著者はまた、この仕様に関するアドバイス、および仕様の改善に役立つ相互運用性テストイベントを編成してくれたCalendaring and Scheduling Consortiumに感謝します。

14. References
14. 参考文献
14.1. Normative References
14.1. 引用文献

[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月。

[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月。

[RFC2617] Franks, J., Hallam-Baker, P., Hostetler, J., Lawrence, S., Leach, P., Luotonen, A., and L. Stewart, "HTTP Authentication: Basic and Digest Access Authentication", RFC 2617, June 1999.

[RFC2617] Franks、J.、Hallam-Baker、P.、Hostetler、J.、Lawrence、S.、Leach、P.、Luotonen、A。、およびL. Stewart、「HTTP Authentication:Basic and Digest Access Authentication」 、RFC 2617、1999年6月。

[RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, May 2000.

[RFC2818] Rescorla、E。、「HTTP over TLS」、RFC 2818、2000年5月。

[RFC3744] Clemm, G., Reschke, J., Sedlar, E., and J. Whitehead, "Web Distributed Authoring and Versioning (WebDAV) Access Control Protocol", RFC 3744, May 2004.

[RFC3744] Clemm、G.、Reschke、J.、Sedlar、E。、およびJ. Whitehead、「Web Distributed Authoring and Versioning(WebDAV)Access Control Protocol」、RFC 3744、2004年5月。

[RFC3864] Klyne, G., Nottingham, M., and J. Mogul, "Registration Procedures for Message Header Fields", BCP 90, RFC 3864, September 2004.

[RFC3864] Klyne、G.、Nottingham、M。、およびJ. Mogul、「メッセージヘッダーフィールドの登録手順」、BCP 90、RFC 3864、2004年9月。

[RFC4791] Daboo, C., Desruisseaux, B., and L. Dusseault, "Calendaring Extensions to WebDAV (CalDAV)", RFC 4791, March 2007.

[RFC4791] Daboo, C., Desruisseaux, B., and L. Dusseault, "Calendaring Extensions to WebDAV (CalDAV)", RFC 4791, March 2007.

[RFC4918] Dusseault, L., Ed., "HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)", RFC 4918, June 2007.

[RFC4918] Dusseault, L., Ed., "HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)", RFC 4918, June 2007.

[RFC5234] Crocker, D., Ed., and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008.

[RFC5234] Crocker, D., Ed., and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008.

[RFC5545] Desruisseaux, B., Ed., "Internet Calendaring and Scheduling Core Object Specification (iCalendar)", RFC 5545, September 2009.

[RFC5545] Desruisseaux, B., Ed., "Internet Calendaring and Scheduling Core Object Specification (iCalendar)", RFC 5545, September 2009.

[RFC5546] Daboo, C., Ed., "iCalendar Transport-Independent Interoperability Protocol (iTIP)", RFC 5546, December 2009.

[RFC5546] Daboo, C., Ed., "iCalendar Transport-Independent Interoperability Protocol (iTIP)", RFC 5546, December 2009.

[RFC6125] Saint-Andre, P. and J. Hodges, "Representation and Verification of Domain-Based Application Service Identity within Internet Public Key Infrastructure Using X.509 (PKIX) Certificates in the Context of Transport Layer Security (TLS)", RFC 6125, March 2011.

[RFC6125] Saint-Andre、P。およびJ. Hodges、「トランスポート層セキュリティ(TLS)のコンテキストでX.​​509(PKIX)証明書を使用したインターネット公開鍵インフラストラクチャ内のドメインベースのアプリケーションサービスIDの表現と検証」、 RFC 6125、2011年3月。

[W3C.REC-xml-20081126] Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E., and F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fifth Edition)", World Wide Web Consortium Recommendation REC-xml-20081126, November 2008, <http://www.w3.org/TR/2008/REC-xml-20081126>.

[W3C.REC-xml-20081126] Bray、T.、Paoli、J.、Sperberg-McQueen、C.、Maler、E。、およびF. Yergeau、「Extensible Markup Language(XML)1.0(Fifth Edition)」、 World Wide Web Consortium Recommendation REC-xml-20081126、2008年11月、<http://www.w3.org/TR/2008/REC-xml-20081126>。

14.2. Informative References
14.2. 参考引用

[RFC6047] Melnikov, A., Ed., "iCalendar Message-Based Interoperability Protocol (iMIP)", RFC 6047, December 2010.

[RFC6047] Melnikov、A。、編、「iCalendar Message-Based Interoperability Protocol(iMIP)」、RFC 6047、2010年12月。

Appendix A. Scheduling Privileges Summary
付録A.スケジュール特権の要約
A.1. Scheduling Inbox Privileges
A.1. 受信トレイ権限のスケジュール

The following tables specify which scheduling privileges grant the right to a calendar user to deliver a scheduling message to the scheduling Inbox collection of another calendar user. The appropriate behavior depends on the calendar component type as well as the scheduling "METHOD" specified in the scheduling message.

次の表は、別のカレンダーユーザーのスケジュール受信トレイコレクションにスケジュールメッセージを配信する権利をカレンダーユーザーに付与するスケジュール権限を示しています。適切な動作は、カレンダーコンポーネントのタイプと、スケジューリングメッセージで指定されたスケジューリング「メソッド」によって異なります。

                                 +--------------------------------+
                                 |  METHOD for VEVENT and VTODO   |
   +-----------------------------+---------+-------+-----+--------+
   | Scheduling Inbox Privilege  | REQUEST | REPLY | ADD | CANCEL |
   +-----------------------------+---------+-------+-----+--------+
   | schedule-deliver            |    *    |   *   |  *  |   *    |
   |   schedule-deliver-invite   |    *    |       |  *  |   *    |
   |   schedule-deliver-reply    |         |   *   |     |        |
   |   schedule-query-freebusy   |         |       |     |        |
   +-----------------------------+---------+-------+-----+--------+
        
                                 +----------------------+
                                 | METHOD for VFREEBUSY |
   +-----------------------------+----------------------+
   | Scheduling Inbox Privilege  |       REQUEST        |
   +-----------------------------+----------------------+
   | schedule-deliver            |          *           |
   |   schedule-deliver-invite   |                      |
   |   schedule-deliver-reply    |                      |
   |   schedule-query-freebusy   |          *           |
   +-----------------------------+----------------------+
        
A.2. Scheduling Outbox Privileges
A.2. 送信トレイ権限のスケジュール

The following tables specify which scheduling privileges grant the right to a calendar user to perform busy time information requests and to submit scheduling messages to other calendar users as the result of a scheduling operation. The appropriate behavior depends on the calendar component type as well as the scheduling "METHOD" specified in the scheduling message.

The following tables specify which scheduling privileges grant the right to a calendar user to perform busy time information requests and to submit scheduling messages to other calendar users as the result of a scheduling operation. The appropriate behavior depends on the calendar component type as well as the scheduling "METHOD" specified in the scheduling message.

                                 +--------------------------------+
                                 |  METHOD for VEVENT and VTODO   |
   +-----------------------------+---------+-------+-----+--------+
   | Scheduling Outbox Privilege | REQUEST | REPLY | ADD | CANCEL |
   +-----------------------------+---------+-------+-----+--------+
   | schedule-send               |    *    |   *   |  *  |   *    |
   |   schedule-send-invite      |    *    |       |  *  |   *    |
   |   schedule-send-reply       |         |   *   |     |        |
   |   schedule-send-freebusy    |         |       |     |        |
   +-----------------------------+---------+-------+-----+--------+
        
                                 +----------------------+
                                 | METHOD for VFREEBUSY |
   +-----------------------------+----------------------+
   | Scheduling Outbox Privilege |       REQUEST        |
   +-----------------------------+----------------------+
   | schedule-send               |          *           |
   |   schedule-send-invite      |                      |
   |   schedule-send-reply       |                      |
   |   schedule-send-freebusy    |          *           |
   +-----------------------------+----------------------+
        
Appendix B. Example Scheduling Operations
付録B.スケジューリング操作の例

This section describes some example scheduling operations that give a general idea of how scheduling is carried out between CalDAV clients and servers from the perspective of meeting "Organizers" and "Attendees".

このセクションでは、「オーガナイザ」と「出席者」のミーティングの観点からCalDAVクライアントとサーバー間でスケジューリングがどのように実行されるかについての一般的なアイデアを提供するいくつかのスケジューリング操作の例について説明します。

The server is assumed to be hosted in the "example.com" domain, and users whose email addresses are at the "example.com" domain are assumed to be hosted by the server. In addition, the email addresses in the "example.net" domain are also valid email addresses for calendar users hosted by the server. Calendar users with an email address at the "example.org" domain are assumed to not be hosted by the server.

サーバーは「example.com」ドメインでホストされていると想定され、メールアドレスが「example.com」ドメインにあるユーザーはサーバーでホストされていると想定されます。また、「example.net」ドメインのメールアドレスは、サーバーでホストされているカレンダーユーザーの有効なメールアドレスでもあります。 「example.org」ドメインのメールアドレスを持つカレンダーユーザーは、サーバーでホストされていないと見なされます。

In the following examples, the requests and responses are incomplete and are only for illustrative purposes. In particular, HTTP authentication headers and behaviors are not shown, even though they are required in normal operation.

次の例では、要求と応答は不完全であり、説明のみを目的としています。特に、HTTP認証のヘッダーと動作は、通常の操作で必要な場合でも表示されません。

B.1. Example: "Organizer" Inviting Multiple "Attendees"
B.1. 例:複数の「出席者」を招待する「主催者」

In the following example, Cyrus invites Wilfredo, Bernard, and Mike to a single instance event by simply creating a new scheduling object resource in one of his calendar collections by using the PUT method.

次の例では、Cyrusは、PUTメソッドを使用してカレンダーコレクションの1つに新しいスケジューリングオブジェクトリソースを作成するだけで、Wilfredo、Bernard、およびMikeを単一のインスタンスイベントに招待します。

   >> Request <<
        
   PUT /home/cyrus/calendars/work/9263504FD3AD.ics HTTP/1.1
   Host: cal.example.com
   Content-Type: text/calendar; charset="utf-8"
   Content-Length: xxxx
   If-None-Match: *
        
   BEGIN:VCALENDAR
   VERSION:2.0
   PRODID:-//Example Corp.//CalDAV Client//EN
   BEGIN:VEVENT
   UID:9263504FD3AD
   SEQUENCE:0
   DTSTAMP:20090602T185254Z
   DTSTART:20090602T160000Z
   DTEND:20090602T170000Z
   TRANSP:OPAQUE
   SUMMARY:Lunch
   ORGANIZER;CN="Cyrus Daboo":mailto:cyrus@example.com
   ATTENDEE;CN="Cyrus Daboo";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:
    mailto:cyrus@example.com
   ATTENDEE;CN="Wilfredo Sanchez Vega";CUTYPE=INDIVIDUAL;PARTSTAT
    =NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:wilfredo@
    example.com
   ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;PARTSTAT=
    NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:bernard@ex
    ample.net
   ATTENDEE;CN="Mike Douglass";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-A
    CTION;RSVP=TRUE:mailto:mike@example.org
   END:VEVENT
   END:VCALENDAR
        
   >> Response <<
        
   HTTP/1.1 201 Created
   Content-Length: 0
   Date: Tue, 02 Jun 2009 18:52:54 GMT
   Last-Modified: Tue, 02 Jun 2009 18:52:54 GMT
   ETag: "d85561cfe74a4e785eb4639451b434fb"
   Schedule-Tag: "488177c8-2ea7-4176-a6cb-fab8cfccdea2"
        

Once the event creation has been completed, Cyrus's client will retrieve the event back from the server to get the schedule status of each "Attendee", as well as record the Schedule-Tag value for future use. In this example, the server reports that a scheduling message was delivered to Wilfredo, a scheduling message is still pending for Bernard, and the server was unable to deliver a scheduling message to Mike.

イベントの作成が完了すると、Cyrusのクライアントはサーバーからイベントを取得して、各「出席者」のスケジュールステータスを取得し、Schedule-Tag値を記録して将来使用できるようにします。この例では、サーバーはスケジューリングメッセージがWilfredoに配信され、スケジューリングメッセージはまだBernardに保留中であり、サーバーはMikeにスケジューリングメッセージを配信できなかったことを報告します。

   >> Request <<
        
   GET /home/cyrus/calendars/work/9263504FD3AD.ics HTTP/1.1
   Host: cal.example.com
        
   >> Response <<
        
   HTTP/1.1 200 OK
   Date: Tue, 02 Jun 2009 18:52:58 GMT
   Last-Modified: Tue, 02 Jun 2009 18:52:58 GMT
   ETag: "eb897deabc8939589da116714bc99265"
   Schedule-Tag: "488177c8-2ea7-4176-a6cb-fab8cfccdea2"
   Content-Type: text/calendar; charset="utf-8"
   Content-Length: xxxx
        
   BEGIN:VCALENDAR
   VERSION:2.0
   PRODID:-//Example Corp.//CalDAV Server//EN
   BEGIN:VEVENT
   UID:9263504FD3AD
   SEQUENCE:0
   DTSTAMP:20090602T185300Z
   DTSTART:20090602T160000Z
   DTEND:20090602T170000Z
   TRANSP:OPAQUE
   SUMMARY:Lunch
   ORGANIZER;CN="Cyrus Daboo":mailto:cyrus@example.com
   ATTENDEE;CN="Cyrus Daboo";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:
    mailto:cyrus@example.com
   ATTENDEE;CN="Wilfredo Sanchez Vega";CUTYPE=INDIVIDUAL;PARTSTAT
    =NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE;SCHEDULE-STATUS=
    1.2:mailto:wilfredo@e
    xample.com
        
   ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;PARTSTAT=
    NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE;SCHEDULE-STATUS=
    1.0:mailto:bernard@example.net
   ATTENDEE;CN="Mike Douglass";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-A
    CTION;RSVP=TRUE;SCHEDULE-STATUS=3.7:mailto:mike@example.org
   END:VEVENT
   END:VCALENDAR
        
B.2. Example: "Attendee" Receiving an Invitation
B.2. 例:招待状を受け取った「参加者」

In the following example, Wilfredo's client retrieves and deletes the new scheduling message that appeared in his scheduling Inbox collection after the server automatically processed it and created a new scheduling object resource in his default calendar collection.

次の例では、Wilfredoのクライアントが、サーバーが自動的に処理し、デフォルトのカレンダーコレクションに新しいスケジュールオブジェクトリソースを作成した後に、スケジュール受信ボックスコレクションに表示された新しいスケジュールメッセージを取得して削除します。

   >> Request <<
        
   GET /home/wilfredo/calendars/inbox/27d93fc0a58c.ics HTTP/1.1
   Host: cal.example.com
        
   >> Response <<
        
   HTTP/1.1 200 OK
   Date: Tue, 02 Jun 2009 18:59:58 GMT
   Last-Modified: Tue, 02 Jun 2009 18:59:58 GMT
   ETag: "da116714bc9926c89395895eb897deab"
   Content-Type: text/calendar; charset="utf-8"
   Content-Length: xxxx
        
   BEGIN:VCALENDAR
   VERSION:2.0
   PRODID:-//Example Corp.//CalDAV Server//EN
   METHOD:REQUEST
   BEGIN:VEVENT
   UID:9263504FD3AD
   SEQUENCE:0
   DTSTAMP:20090602T185254Z
   DTSTART:20090602T160000Z
   DTEND:20090602T170000Z
   TRANSP:OPAQUE
   SUMMARY:Lunch
   ORGANIZER;CN="Cyrus Daboo":mailto:cyrus@example.com
   ATTENDEE;CN="Cyrus Daboo";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:
    mailto:cyrus@example.com
   ATTENDEE;CN="Wilfredo Sanchez Vega";CUTYPE=INDIVIDUAL;PARTSTAT
    =NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:wilfredo@
    example.com
        
   ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;PARTSTAT=
    NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:bernard@ex
    ample.net
   ATTENDEE;CN="Mike Douglass";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-A
    CTION;RSVP=TRUE:mailto:mike@example.org
   END:VEVENT
   END:VCALENDAR
        
   >> Request <<
        
   DELETE /home/wilfredo/calendars/inbox/27d93fc0a58c.ics HTTP/1.1
   Host: cal.example.com
        
   >> Response <<
        
   HTTP/1.1 204 No Content
   Date: Tue, 02 Jun 2009 20:40:36 GMT
        
B.3. Example: "Attendee" Replying to an Invitation
B.3. 例:招待状に返信する「参加者」

In the following example, Wilfredo accepts Cyrus's invitation and sets an alarm reminder on the event. It uses the If-Schedule-Tag-Match precondition behavior to ensure it does not overwrite any significant changes from the "Organizer" that might have occurred after it retrieved the initial resource data.

In the following example, Wilfredo accepts Cyrus's invitation and sets an alarm reminder on the event. It uses the If-Schedule-Tag-Match precondition behavior to ensure it does not overwrite any significant changes from the "Organizer" that might have occurred after it retrieved the initial resource data.

   >> Request <<
        
   PUT /home/wilfredo/calendars/work/BB64861C2228.ics HTTP/1.1
   Host: cal.example.com
   If-Schedule-Tag-Match: "e78f23ed-0188-4bab-938d-2aeb3324c7e8"
   Content-Type: text/calendar; charset="utf-8"
   Content-Length: xxxx
        
   BEGIN:VCALENDAR
   VERSION:2.0
   PRODID:-//Example Corp.//CalDAV Client//EN
   BEGIN:VEVENT
   UID:9263504FD3AD
   SEQUENCE:0
   DTSTAMP:20090602T185254Z
   DTSTART:20090602T160000Z
   DTEND:20090602T170000Z
   TRANSP:OPAQUE
   SUMMARY:Lunch
   ORGANIZER;CN="Cyrus Daboo":mailto:cyrus@example.com
   ATTENDEE;CN="Cyrus Daboo";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:
    mailto:cyrus@example.com
        
   ATTENDEE;CN="Wilfredo Sanchez Vega";CUTYPE=INDIVIDUAL;PARTSTAT
    =ACCEPTED;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:wilfredo@exam
    ple.com
   ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;PARTSTAT=
    NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:bernard@ex
    ample.net
   ATTENDEE;CN="Mike Douglass";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-A
    CTION;RSVP=TRUE:mailto:mike@example.org
   BEGIN:VALARM
   TRIGGER:-PT15M
   ACTION:DISPLAY
   DESCRIPTION:Reminder
   END:VALARM
   END:VEVENT
   END:VCALENDAR
        
   >> Response <<
        
   HTTP/1.1 200 OK
   Content-Length: 0
   Date: Tue, 02 Jun 2009 18:57:54 GMT
   Last-Modified: Tue, 02 Jun 2009 18:57:54 GMT
   ETag: "eb4639451b434fbd85561cfe74a4e785"
   Schedule-Tag: "8893ee45-eb9d-428f-b53c-c777daf19e41"
        

Once the event modification has been completed, Wilfredo's client will retrieve the event back from the server to get the schedule status of the "Organizer".

イベントの変更が完了すると、Wilfredoのクライアントはサーバーからイベントを取得して、「オーガナイザー」のスケジュールステータスを取得します。

   >> Request <<
        
   GET /home/wilfredo/calendars/work/BB64861C2228.ics HTTP/1.1
   Host: cal.example.com
        
   >> Response <<
        
   HTTP/1.1 200 OK
   Date: Tue, 02 Jun 2009 19:03:03 GMT
   Last-Modified: Tue, 02 Jun 2009 19:02:21 GMT
   ETag: "5eb897deabda116714bc9926c8939589"
   Schedule-Tag: "8893ee45-eb9d-428f-b53c-c777daf19e41"
   Content-Type: text/calendar; charset="utf-8"
   Content-Length: xxxx
   BEGIN:VCALENDAR
   VERSION:2.0
   PRODID:-//Example Corp.//CalDAV Client//EN
   BEGIN:VEVENT
   UID:9263504FD3AD
   SEQUENCE:0
   DTSTAMP:20090602T190221Z
   DTSTART:20090602T160000Z
   DTEND:20090602T170000Z
   TRANSP:OPAQUE
   SUMMARY:Lunch
   ORGANIZER;CN="Cyrus Daboo";SCHEDULE-STATUS=1.2:mailto:cyrus@ex
    ample.com
   ATTENDEE;CN="Cyrus Daboo";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:
    mailto:cyrus@example.com
   ATTENDEE;CN="Wilfredo Sanchez Vega";CUTYPE=INDIVIDUAL;PARTSTAT
    =ACCEPTED;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:wilfredo@exam
    ple.com
   ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;PARTSTAT=
    NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:bernard@ex
    ample.net
   ATTENDEE;CN="Mike Douglass";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-A
    CTION;RSVP=TRUE:mailto:mike@example.org
   BEGIN:VALARM
   TRIGGER:-PT15M
   ACTION:DISPLAY
   DESCRIPTION:Reminder
   END:VALARM
   END:VEVENT
   END:VCALENDAR
        
B.4. Example: "Organizer" Receiving a Reply to an Invitation
B.4. 例:招待状への返信を受け取る「オーガナイザー」

On reception of Wilfredo's reply, Cyrus's server will automatically update Cyrus's scheduling object resource, make Wilfredo's scheduling message available in Cyrus's scheduling Inbox collection, and deliver an updated scheduling message to Bernard to share Wilfredo's updated participation status. In this example, Cyrus's client retrieves and deletes this scheduling message in his scheduling Inbox collection.

Wilfredoの返信を受信すると、CyrusのサーバーはCyrusのスケジューリングオブジェクトリソースを自動的に更新し、CyrusのスケジューリングInboxコレクションでWilfredoのスケジューリングメッセージを利用できるようにし、更新されたスケジューリングメッセージをBernardに配信してWilfredoの更新された参加ステータスを共有します。この例では、Cyrusのクライアントは、自分のスケジュール受信ボックスコレクションからこのスケジュールメッセージを取得して削除します。

   >> Request <<
        
   GET /home/cyrus/calendars/inbox/c0a58c27d93f.ics HTTP/1.1
   Host: cal.example.com
        
   >> Response <<
        
   HTTP/1.1 200 OK
   Date: Tue, 02 Jun 2009 19:05:02 GMT
   Last-Modified: Tue, 02 Jun 2009 19:04:20 GMT
   ETag: "9265eb897deabc8939589da116714bc9"
   Content-Type: text/calendar; charset="utf-8"
   Content-Length: xxxx
        
   BEGIN:VCALENDAR
   VERSION:2.0
   PRODID:-//Example Corp.//CalDAV Server//EN
   METHOD:REPLY
   BEGIN:VEVENT
   UID:9263504FD3AD
   SEQUENCE:0
   DTSTAMP:20090602T185754Z
   DTSTART:20090602T160000Z
   DTEND:20090602T170000Z
   ORGANIZER;CN="Cyrus Daboo":mailto:cyrus@example.com
   ATTENDEE;CN="Wilfredo Sanchez Vega";PARTSTAT=ACCEPTED:mailto:w
    ilfredo@example.com
   REQUEST-STATUS:2.0;Success
   END:VEVENT
   END:VCALENDAR
        
   >> Request <<
        
   DELETE /home/cyrus/calendars/inbox/c0a58c27d93f.ics HTTP/1.1
   Host: cal.example.com
        
   >> Response <<
        
   HTTP/1.1 204 No Content
   Date: Tue, 02 Jun 2009 19:05:05 GMT
        

Cyrus's client then retrieves the event back from the server with Wilfredo's updated participation status.

次に、Cyrusのクライアントは、Wilfredoの更新された参加ステータスを使用して、サーバーからイベントを取得します。

   >> Request <<
        
   GET /home/cyrus/calendars/work/9263504FD3AD.ics HTTP/1.1
   Host: cal.example.com
        
   >> Response <<
        
   HTTP/1.1 200 OK
   Date: Tue, 02 Jun 2009 19:05:02 GMT
   Last-Modified: Tue, 02 Jun 2009 19:04:20 GMT
   ETag: "eb897deabc8939589da116714bc99265"
   Schedule-Tag: "132cab27-1fe3-67ab-de13-abd348d1dee3"
   Content-Type: text/calendar; charset="utf-8"
   Content-Length: xxxx
        
   BEGIN:VCALENDAR
   VERSION:2.0
   PRODID:-//Example Corp.//CalDAV Server//EN
   BEGIN:VEVENT
   UID:9263504FD3AD
   SEQUENCE:0
   DTSTAMP:20090602T190420Z
   DTSTART:20090602T160000Z
   DTEND:20090602T170000Z
   TRANSP:OPAQUE
   SUMMARY:Lunch
   ORGANIZER;CN="Cyrus Daboo":mailto:cyrus@example.com
   ATTENDEE;CN="Cyrus Daboo";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:
    mailto:cyrus@example.com
   ATTENDEE;CN="Wilfredo Sanchez Vega";CUTYPE=INDIVIDUAL;PARTSTAT
    =ACCEPTED;ROLE=REQ-PARTICIPANT;RSVP=TRUE;SCHEDULE-STATUS=2.0:
    mailto:wilfredo@example.com
   ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;PARTSTAT=
    NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE;SCHEDULE-STATUS=1
    .0:mailto:bernard@example.net
   ATTENDEE;CN="Mike Douglass";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-A
    CTION;RSVP=TRUE;SCHEDULE-STATUS=3.7:mailto:mike@example.org
   END:VEVENT
   END:VCALENDAR
        
B.5. Example: "Organizer" Requesting Busy Time Information
B.5. 例:ビジー時間情報を要求する「オーガナイザー」

In this example, Cyrus requests the busy time information of Wilfredo, Bernard, and Mike.

この例では、CyrusがWilfredo、Bernard、およびMikeのビジー時間情報を要求しています。

   >> Request <<
        
   POST /home/cyrus/calendars/outbox/ HTTP/1.1
   Host: cal.example.com
   Content-Type: text/calendar; charset="utf-8"
   Content-Length: xxxx
        
   BEGIN:VCALENDAR
   VERSION:2.0
   PRODID:-//Example Corp.//CalDAV Client//EN
   METHOD:REQUEST
   BEGIN:VFREEBUSY
   UID:4FD3AD926350
   DTSTAMP:20090602T190420Z
   DTSTART:20090602T000000Z
   DTEND:20090604T000000Z
   ORGANIZER;CN="Cyrus Daboo":mailto:cyrus@example.com
   ATTENDEE;CN="Wilfredo Sanchez Vega":mailto:wilfredo@example.com
   ATTENDEE;CN="Bernard Desruisseaux":mailto:bernard@example.net
   ATTENDEE;CN="Mike Douglass":mailto:mike@example.org
   END:VFREEBUSY
   END:VCALENDAR
        
   >> Response <<
        
   HTTP/1.1 200 OK
   Date: Tue, 02 Jun 2009 20:07:34 GMT
   Content-Type: application/xml; charset="utf-8"
   Content-Length: xxxx
        
   <?xml version="1.0" encoding="utf-8" ?>
   <C:schedule-response xmlns:D="DAV:"
          xmlns:C="urn:ietf:params:xml:ns:caldav">
   <C:response>
   <C:recipient>
   <D:href>mailto:wilfredo@example.com</D:href>
   </C:recipient>
   <C:request-status>2.0;Success</C:request-status>
   <C:calendar-data>BEGIN:VCALENDAR
   VERSION:2.0
   PRODID:-//Example Corp.//CalDAV Server//EN
   METHOD:REPLY
   BEGIN:VFREEBUSY
   UID:4FD3AD926350
   DTSTAMP:20090602T200733Z
   DTSTART:20090602T000000Z
   DTEND:20090604T000000Z
   ORGANIZER;CN="Cyrus Daboo":mailto:cyrus@example.com
   ATTENDEE;CN="Wilfredo Sanchez Vega":mailto:wilfredo@example.com
   FREEBUSY;FBTYPE=BUSY:20090602T110000Z/20090602T120000Z
   FREEBUSY;FBTYPE=BUSY:20090603T170000Z/20090603T180000Z
   END:VFREEBUSY
   END:VCALENDAR
   </C:calendar-data>
   </C:response>
   <C:response>
   <C:recipient>
   <D:href>mailto:bernard@example.net</D:href>
   </C:recipient>
   <C:request-status>2.0;Success</C:request-status>
   <C:calendar-data>BEGIN:VCALENDAR
   VERSION:2.0
   PRODID:-//Example Corp.//CalDAV Server//EN
   METHOD:REPLY
   BEGIN:VFREEBUSY
   UID:4FD3AD926350
   DTSTAMP:20090602T200733Z
   DTSTART:20090602T000000Z
   DTEND:20090604T000000Z
   ORGANIZER;CN="Cyrus Daboo":mailto:cyrus@example.com
   ATTENDEE;CN="Bernard Desruisseaux":mailto:bernard@example.net
   FREEBUSY;FBTYPE=BUSY:20090602T150000Z/20090602T160000Z
   FREEBUSY;FBTYPE=BUSY:20090603T090000Z/20090603T100000Z
   FREEBUSY;FBTYPE=BUSY:20090603T180000Z/20090603T190000Z
   END:VFREEBUSY
   END:VCALENDAR
   </C:calendar-data>
   </C:response>
   <C:response>
   <C:recipient>
   <D:href>mailto:mike@example.org</D:href>
   </C:recipient>
   <C:request-status>3.7;Invalid calendar user</C:request-status>
   </C:response>
   </C:schedule-response>
        

B.6. Example: User Attempting to Invite "Attendee" on Behalf of "Organizer"

B.6. 例:「主催者」の代わりに「参加者」を招待しようとしているユーザー

In the following example, Cyrus attempts to create, on behalf of Wilfredo, an event with Bernard specified as an "Attendee". The request fails, since Wilfredo didn't grant Cyrus the right to invite other calendar users on his behalf.

次の例では、CyrusはWilfredoに代わって、バーナードを「参加者」として指定したイベントの作成を試みます。 WilfredoがCyrusに自分の代わりに他のカレンダーユーザーを招待する権利を与えなかったため、要求は失敗しました。

   >> Request <<
        
   PUT /home/wilfredo/calendars/work/def456.ics HTTP/1.1
   Host: cal.example.com
   Content-Type: text/calendar; charset="utf-8"
   Content-Length: xxxx
   If-None-Match: *
        
   BEGIN:VCALENDAR
   VERSION:2.0
   PRODID:-//Example Corp.//CalDAV Client//EN
   BEGIN:VEVENT
   UID:3504F926D3AD
   SEQUENCE:0
   DTSTAMP:20090602T190221Z
   DTSTART:20090602T230000Z
   DTEND:20090603T000000Z
   TRANSP:OPAQUE
   SUMMARY:Dinner
   ORGANIZER;CN="Wilfredo Sanchez Vega":mailto:wilfredo@example.com
   ATTENDEE;CN="Wilfredo Sanchez Vega";CUTYPE=INDIVIDUAL;PARTSTAT=A
    CCEPTED:mailto:wilfredo@example.com
   ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;PARTSTAT=NE
    EDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:bernard@exampl
    e.net
   END:VEVENT
   END:VCALENDAR
        
   >> Response <<
        
   HTTP/1.1 403 Forbidden
   Content-Type: application/xml; charset="utf-8"
   Content-Length: xxxx
        
   <?xml version="1.0" encoding="utf-8" ?>
   <D:error xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav">
     <D:need-privileges>
       <D:resource>
         <D:href>/home/wilfredo/calendars/outbox/</D:href>
         <D:privilege><C:schedule-send-invite/></D:privilege>
       </D:resource>
     </D:need-privileges>
   </D:error>
        
B.7. Example: "Attendee" Declining an Instance of a Recurring Event
B.7. Example: "Attendee" Declining an Instance of a Recurring Event

In the following example, Bernard declines the second recurrence instance of a daily recurring event he's been invited to by Cyrus.

次の例では、バーナードは、サイラスから招待された毎日の定期的なイベントの2番目の繰り返しインスタンスを拒否します。

   >> Request <<
        
   PUT /home/bernard/calendars/work/4FD3AD926350.ics HTTP/1.1
   Host: cal.example.com
   Content-Type: text/calendar; charset="utf-8"
   Content-Length: xxxx
   If-Schedule-Tag-Match: "7775FB30-7534-489E-A79A-0EA147B933EB"
        
   BEGIN:VCALENDAR
   VERSION:2.0
   PRODID:-//Example Corp.//CalDAV Client//EN
   BEGIN:VTIMEZONE
   TZID:America/Montreal
   BEGIN:STANDARD
   DTSTART:20071104T020000
   RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
   TZNAME:EST
   TZOFFSETFROM:-0400
   TZOFFSETTO:-0500
   END:STANDARD
   BEGIN:DAYLIGHT
   DTSTART:20070311T020000
   RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
   TZNAME:EDT
   TZOFFSETFROM:-0500
   TZOFFSETTO:-0400
   END:DAYLIGHT
   END:VTIMEZONE
   BEGIN:VEVENT
   UID:9263504FD3AD
   SEQUENCE:0
   DTSTAMP:20090602T185254Z
   DTSTART;TZID=America/Montreal:20090601T150000
   DTEND;TZID=America/Montreal:20090601T160000
   RRULE:FREQ=DAILY;INTERVAL=1;COUNT=5
   TRANSP:OPAQUE
   SUMMARY:Review Internet-Draft
   ORGANIZER;CN="Cyrus Daboo":mailto:cyrus@example.com
   ATTENDEE;CN="Cyrus Daboo";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:
    mailto:cyrus@example.com
   ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;PARTSTAT=
    ACCEPTED;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:bernard@exampl
    e.net
   END:VEVENT
   BEGIN:VEVENT
   UID:9263504FD3AD
   SEQUENCE:0
   DTSTAMP:20090603T183823Z
   RECURRENCE-ID;TZID=America/Montreal:20090602T150000
   DTSTART;TZID=America/Montreal:20090602T150000
   DTEND;TZID=America/Montreal:20090602T160000
   TRANSP:TRANSPARENT
   SUMMARY:Review Internet-Draft
   ORGANIZER;CN="Cyrus Daboo":mailto:cyrus@example.com
   ATTENDEE;CN="Cyrus Daboo";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:
    mailto:cyrus@example.com
   ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;PARTSTAT=
    DECLINED;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:bernard@exampl
    e.net
   END:VEVENT
   END:VCALENDAR
        
   >> Response <<
        

HTTP/1.1 200 OK Content-Length: 0 Date: Tue, 02 Jun 2009 18:52:54 GMT Last-Modified: Tue, 02 Jun 2009 18:52:54 GMT ETag: "d85561cfe74a4e785eb4639451b434fb" Schedule-Tag: "488177c8-2ea7-4176-a6cb-fab8cfccdea2" Bernard's participation status update will cause his server to deliver a scheduling message to Cyrus. Cyrus's client will find the following reply message from Bernard in Cyrus's scheduling Inbox collection:

HTTP / 1.1 200 OK Content-Length:0 Date:Tue、02 Jun 2009 18:52:54 GMT Last-Modified:Tue、02 Jun 2009 18:52:54 GMT ETag: "d85561cfe74a4e785eb4639451b434fb" Schedule-Tag: "488177c8- 2ea7-4176-a6cb-fab8cfccdea2 "バーナードの参加ステータスの更新により、サーバーはスケジューリングメッセージをCyrusに配信します。 Cyrusのクライアントは、CyrusのスケジューリングInboxコレクションでBernardからの次の応答メッセージを見つけます。

   >> Request <<
        
   GET /home/cyrus/calendars/inbox/9263504FD3AD.ics HTTP/1.1
   Host: cal.example.com
        
   >> Response <<
        
   HTTP/1.1 200 OK
   Date: Tue, 02 Jun 2009 18:52:58 GMT
   Last-Modified: Tue, 02 Jun 2009 18:52:58 GMT
   ETag: "eb897deabc8939589da116714bc99265"
   Content-Type: text/calendar; charset="utf-8"
   Content-Length: xxxx
        
   BEGIN:VCALENDAR
   VERSION:2.0
   PRODID:-//Example Corp.//CalDAV Client//EN
   METHOD:REPLY
   BEGIN:VTIMEZONE
   TZID:America/Montreal
   BEGIN:STANDARD
   DTSTART:20071104T020000
   RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
   TZNAME:EST
   TZOFFSETFROM:-0400
   TZOFFSETTO:-0500
   END:STANDARD
   BEGIN:DAYLIGHT
   DTSTART:20070311T020000
   RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
   TZNAME:EDT
   TZOFFSETFROM:-0500
   TZOFFSETTO:-0400
   END:DAYLIGHT
   END:VTIMEZONE
   BEGIN:VEVENT
   UID:9263504FD3AD
   SEQUENCE:0
   DTSTAMP:20090603T183823Z
   RECURRENCE-ID;TZID=America/Montreal:20090602T150000
   DTSTART;TZID=America/Montreal:20090602T150000
   DTEND;TZID=America/Montreal:20090602T160000
   SUMMARY:Review Internet-Draft
   ORGANIZER;CN="Cyrus Daboo":mailto:cyrus@example.com
   ATTENDEE;CN="Bernard Desruisseaux";PARTSTAT=DECLINED:
    mailto:bernard@example.net
   REQUEST-STATUS:2.0;Success
   END:VEVENT
   END:VCALENDAR
        
B.8. Example: "Attendee" Removing an Instance of a Recurring Event
B.8. 例:「参加者」が定期的なイベントのインスタンスを削除する

In the following example, Bernard removes from his calendar the third recurrence instance of a daily recurring event he's been invited to by Cyrus. This is accomplished by the addition of an "EXDATE" property to the scheduling object resource stored by Bernard.

次の例では、バーナードは、Cyrusから招待された毎日の定期的なイベントの3番目の繰り返しインスタンスをカレンダーから削除します。これは、Bernardによって保存されたスケジューリングオブジェクトリソースに「EXDATE」プロパティを追加することによって実現されます。

   >> Request <<
        
   PUT /home/bernard/calendars/work/4FD3AD926350.ics HTTP/1.1
   Host: cal.example.com
   Content-Type: text/calendar; charset="utf-8"
   Content-Length: xxxx
   If-Schedule-Tag-Match: "488177c8-2ea7-4176-a6cb-fab8cfccdea2"
        
   BEGIN:VCALENDAR
   VERSION:2.0
   PRODID:-//Example Corp.//CalDAV Client//EN
   BEGIN:VTIMEZONE
   TZID:America/Montreal
   BEGIN:STANDARD
   DTSTART:20071104T020000
   RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
   TZNAME:EST
   TZOFFSETFROM:-0400
   TZOFFSETTO:-0500
   END:STANDARD
   BEGIN:DAYLIGHT
   DTSTART:20070311T020000
   RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
   TZNAME:EDT
   TZOFFSETFROM:-0500
   TZOFFSETTO:-0400
   END:DAYLIGHT
   END:VTIMEZONE
   BEGIN:VEVENT
   UID:9263504FD3AD
   SEQUENCE:0
   DTSTAMP:20090602T185254Z
   DTSTART;TZID=America/Montreal:20090601T150000
   DTEND;TZID=America/Montreal:20090601T160000
   RRULE:FREQ=DAILY;INTERVAL=1;COUNT=5
   EXDATE;TZID=America/Montreal:20090603T150000
   TRANSP:OPAQUE
   SUMMARY:Review Internet-Draft
   ORGANIZER;CN="Cyrus Daboo":mailto:cyrus@example.com
   ATTENDEE;CN="Cyrus Daboo";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:
    mailto:cyrus@example.com
   ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;PARTSTAT=
    ACCEPTED;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:bernard@exampl
    e.net
   END:VEVENT
   BEGIN:VEVENT
   UID:9263504FD3AD
   SEQUENCE:0
   DTSTAMP:20090603T183823Z
   RECURRENCE-ID;TZID=America/Montreal:20090602T150000
   DTSTART;TZID=America/Montreal:20090602T150000
   DTEND;TZID=America/Montreal:20090602T160000
   TRANSP:TRANSPARENT
   SUMMARY:Review Internet-Draft
   ORGANIZER;CN="Cyrus Daboo":mailto:cyrus@example.com
   ATTENDEE;CN="Cyrus Daboo";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:
    mailto:cyrus@example.com
   ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;PARTSTAT=
    DECLINED;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:bernard@exampl
    e.net
   END:VEVENT
   END:VCALENDAR
        

Bernard's deletion of a recurrence instance will cause his server to deliver a scheduling message to Cyrus. Cyrus's client will find the following reply message from Bernard in Cyrus's scheduling Inbox collection:

バーナードが繰り返しインスタンスを削除すると、サーバーがスケジューリングメッセージをCyrusに配信します。 Cyrusのクライアントは、CyrusのスケジューリングInboxコレクションでBernardからの次の応答メッセージを見つけます。

   >> Request <<
        
   GET /home/cyrus/calendars/inbox/6504923FD3AD.ics HTTP/1.1
   Host: cal.example.com
        
   >> Response <<
        
   HTTP/1.1 200 OK
   Date: Tue, 02 Jun 2009 18:52:58 GMT
   Last-Modified: Tue, 02 Jun 2009 18:52:58 GMT
   ETag: "eb897deabc8939589da116714bc99265"
   Content-Type: text/calendar; charset="utf-8"
   Content-Length: xxxx
   BEGIN:VCALENDAR
   VERSION:2.0
   PRODID:-//Example Corp.//CalDAV Client//EN
   METHOD:REPLY
   BEGIN:VTIMEZONE
   TZID:America/Montreal
   BEGIN:STANDARD
   DTSTART:20071104T020000
   RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
   TZNAME:EST
   TZOFFSETFROM:-0400
   TZOFFSETTO:-0500
   END:STANDARD
   BEGIN:DAYLIGHT
   DTSTART:20070311T020000
   RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
   TZNAME:EDT
   TZOFFSETFROM:-0500
   TZOFFSETTO:-0400
   END:DAYLIGHT
   END:VTIMEZONE
   BEGIN:VEVENT
   UID:9263504FD3AD
   SEQUENCE:0
   DTSTAMP:20090603T183823Z
   RECURRENCE-ID;TZID=America/Montreal:20090603T150000
   DTSTART;TZID=America/Montreal:20090603T150000
   DTEND;TZID=America/Montreal:20090603T160000
   SUMMARY:Review Internet-Draft
   ORGANIZER;CN="Cyrus Daboo":mailto:cyrus@example.com
   ATTENDEE;CN="Bernard Desruisseaux";PARTSTAT=DECLINED:
    mailto:bernard@example.net
   REQUEST-STATUS:2.0;Success
   END:VEVENT
   END:VCALENDAR
        

Authors' Addresses

著者のアドレス

Cyrus Daboo Apple Inc. 1 Infinite Loop Cupertino, CA 95014 USA

Cyrus Daboo Apple Inc.1 Infinite Loop Cupertino、CA 95014 USA

   EMail: cyrus@daboo.name
   URI:   http://www.apple.com/
        

Bernard Desruisseaux Oracle Corporation 600 Blvd. de Maisonneuve West Suite 1900 Montreal, QC H3A 3J2 CANADA

Bernard Desruisseaux Oracle Corporation 600 Blvd. de Maisonneuve West Suite 1900 Montreal、QC H3A 3J2 CANADA

   EMail: bernard.desruisseaux@oracle.com
   URI:   http://www.oracle.com/