2

CalDav イベントのカラーリングはサポートされていないようです - 1 つの同じカレンダーのすべてのイベントは同じ色 - カレンダーのマスター カラーです!

サーバー上に色と同じ数のカレンダーを作成せずに、「マスターカレンダー」内で色付きのイベントを取得する別の方法を探しています。

私の最初のアイデアは、さまざまな色でさまざまなカレンダーを作成することです。ここでの 2 つの問題 1. CalDav を介してカレンダーの色を設定できますか?

  1. サブカレンダーごとに 1 つの色を使用して、1 つの「マスターカレンダー」に異なるカレンダーを「埋め込む」ことはできますか?

同様のことを達成したい理由は、サブカレンダーごとに複数のアカウントを作成することを避けたいためです。これにより、ユーザーはカレンダーを個別に登録する必要があります (OK、auto を使用できます)。 -検出しますが、私のケーススタディでは同期が少し複雑になります)。

誰かこれについて提案がありますか?

4

2 に答える 2

2

カレンダーまたはイベントで色を使用する方法について、RFC 化された標準はありません。

iOS および OSX のカレンダー クライアントは、1 つのカレンダーの色のみをサポートし、個々のイベントに色を付けることはできません (追加の「カラー カテゴリ」機能を持つ Outlook とは異なります)。

WebDAV 経由でカレンダーの Apple カラーを設定できます。これは (現在文書化されていない) Apple 固有の拡張機能であり、カレンダー コレクションのプロパティです。サンプル:

<calendar-color xmlns="http://apple.com/ns/ical/">#2952A3</calendar-color>

通常の PROPPATCH を使用して、既存のカレンダー (またはコレクションを作成する場合は MKCOL 内) に色を設定します。

PROPPATCH /your/calendar/url/ HTTP/1.1
...

<propertyupdate xmlns="DAV:">
  <set>
    <prop>
      <calendar-color xmlns="http://apple.com/ns/ical/">#2952A3</calendar-color>
    </prop>
  </set>
</propertyupdate>

残念ながら、CalDAV の他のカレンダーにカレンダーを埋め込むことはできません。「カレンダー コレクションに含まれるコレクションには、任意の深さでカレンダー コレクションを含めてはなりません。つまり、他のカレンダー コレクション内に任意の深さでカレンダー コレクションを「ネスト」することは許可されていません。RFC4791

さらに悪いことに、ほとんどのクライアントは、任意の DAV コレクション階層内でカレンダーを許可することさえできません (つまり、クライアントはカレンダー ホームをフラット リストとしてのみ見て、カレンダー以外のサブコレクションをトラバースしません)。

概要: イベントごとの色をサポートする「妥当な」方法はありません。これは主に、Apple クライアントにその機能がないためです。

PS: 他の CalDAV クライアントにはその機能 (BusyCal など) があり、iCalendar X プロパティを介して、またはカスタム DAV プロパティを使用してイベントに色を埋め込むことができます。

于 2015-06-16T15:03:04.323 に答える