Sun Java System Calendar Server 6.3 管理ガイド

第 19 章 Calendar Server のタイムゾーンの管理

ここでは、Calendar Server ソフトウェアがどのようにタイムゾーンを定義し、処理するかについて説明します。

この章の内容は次のとおりです。

タイムゾーンのプロパティーとパラメータについては、次の Web サイトで『RFC 2445, Internet Calendaring and Scheduling Core Object Specification (iCalendar)』を参照してください。

http://www.ietf.org/rfc/rfc2445.txt

19.1 Calendar Server タイムゾーンの概要

ここでは、Calendar Server ソフトウェアによって実装されるタイムゾーンの概要を説明します。

timezones.ics ファイルには、Calendar Server がサポートするタイムゾーン表記が定義されています。このファイルは、次のディレクトリに格納されています。

/etc/opt/SUNWics5/config/

起動時に Calendar Server は timezones.ics ファイルを読み取ってタイムゾーンデータを生成し、そのデータをメモリーに格納します。このため、Calendar Server の稼動中はタイムゾーンデータはメモリー内に維持されます。したがって、新しいタイムゾーンを追加したり、既存のタイムゾーンを変更した場合は、変更が適用されるように Calendar Server を停止して再起動する必要があります。

timezones.ics ファイル内のタイムゾーンは TZID パラメータで識別されます。たとえば、Calendar Server は、例 19–1 に示すように、America/Los_Angeles TZID を使用して太平洋標準時 (PST/PDT) を識別します。TZNAME プロパティーはタイムゾーンの略式表記で、たとえば America/Los_Angeles であれば、PST (Pacific Standard Time、太平洋標準時) となります。

America/Los_Angeles のように夏時間 (DST) が適用されるタイムゾーンには、次の 2 つのサブコンポーネントが含まれます。標準時間用の STANDARD と夏時間用の DAYLIGHTX-NSCP-TZCROSS リストには、そのタイムゾーンで夏時間 (DAYLIGHT) と標準時間 (STANDARD) が切り替わる日付が含まれます。

RRULE プロパティーは、STANDARDDAYLIGHT の規則のパターンを定義します。TZOFFSETFROM プロパティーと TZOFFSETTO プロパティーは、夏時間と標準時間が切り替わる前後の GMT からの時間差を定義します。Communications Express のユーザーインタフェースでは、X-NSCP-TZCROSS に指定されている日付を使用して、タイムゾーンの変更をいつ表示するかが決定されます。

タイムゾーンの ID (tzid) パラメータを含む WCAP コマンドは、timezones.ics ファイルに定義されている有効なタイムゾーンを参照する必要があります。Calendar Server は、そのタイムゾーンを使用して日付を返します。WCAP コマンドに不明なタイムゾーンが指定されている場合、デフォルトでは Calendar Server は GMT タイムゾーンの日付を返します。WCAP については、『Sun Java System Calendar Server 6.3 WCAP Developer’s Guide 』を参照してください。


例 19–1 timezones.ics ファイル内の America/Los_Angeles タイムゾーンの表記

次の例は、timezones.ics ファイル内の America/Los_Angeles タイムゾーンの表記を示しています。


19.2 Calendar Server タイムゾーンの管理

この節では、タイムゾーンの管理に関する概念情報と手順について説明します。

ここでは、次の内容について説明します。

19.2.1 新しいタイムゾーンの追加

ここでは、Communications Express ユーザーインタフェースで使用できるように Calendar Server に新しいタイムゾーンを追加する方法について説明します。たとえば、America/Miami 用のタイムゾーンの追加が必要になるかもしれません。

新しいタイムゾーンを追加するもっとも簡単な方法は、次の手順で説明する各ファイルで、追加するタイムゾーンに似たタイムゾーンエントリをコピーし、それを編集する方法です。たとえば、America/Miami 用のタイムゾーンを追加するのであれば、各ファイルで America/New_York のタイムゾーンエントリをコピーして編集します。追加するタイムゾーンに夏時間 (DST) が適用される場合は、それに似たブロックを探します。

19.2.2 既存のタイムゾーンの変更

ここでは、既存のタイムゾーンを変更する方法について説明します。たとえば、「America/Phoenix」というタイムゾーン名から「US/Arizona」への変更が必要になる場合があります。

Procedure既存のタイムゾーンを変更するには

  1. 次のファイルで、変更するタイムゾーンのタイムゾーンブロックを変更します。

    /etc/optSUNWics5/config/timezones.ics

    タイムゾーン名を変更するときは、TZID エントリの名前を変更します。

  2. 次のファイルで getDisplayNameofTZID テンプレートを修正します。

    cal-svr-base/SUNWics5/cal/html/ language/i18n.xsl

    それぞれの意味は次のとおりです。language には、サイトで使用する言語のディレクトリを指定します。次に例を示します。英語であれば en、フランス語であれば fr を指定します。

    タイムゾーン名を変更するときは、既存の名前を変更します。

  3. タイムゾーンの変更に合わせて次の XML ファイルを変更します。

    cal-svr-base /SUNWics5/cal/html/change_timezone.xml

    cal-svr-base/SUNWics5/cal/html/new_cal.xml

    cal-svr-base/SUNWics5/cal/html/new_group.xml

    これらのファイルのエントリについては、「19.2.1 新しいタイムゾーンの追加」を参照してください。

  4. 変更がユーザー設定のデフォルトタイムゾーンに影響するときは、次のファイルの "icsTimeZone" エントリを修正します。

    cal-svr-base/SUNWics5/cal/html/default_user_prefs.xml


    注 –

    手順 2、3、4 は、Calendar Express ユーザーインタフェースを使用している場合にのみ実行する必要があります。


  5. タイムゾーンの変更が適用されるように、Calendar Server を停止し (稼動していた場合)、再起動します。