Sun Java ロゴ     前へ      目次      索引      次へ     

Sun ロゴ
Sun Java System Calendar Server 管理ガイド 

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

この付録では、Suna ONE Calendar Server がタイムゾーンを定義、処理する方法について、次の項目を説明します。

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

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

 


Calendar Server タイムゾーンの概要

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

cal_svr_base/opt/SUNWics5/cal/data

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

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

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

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

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

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

図 17-1 timezones.ics ファイル内の America/Los_Angeles タイムゾーンの表記 

BEGIN:VTIMEZONE

TZID:America/Los_Angeles

BEGIN:STANDARD

DTSTART:19671025T020000

RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10

TZOFFSETFROM:-0700

TZOFFSETTO:-0800

TZNAME:PST

END:STANDARD

BEGIN:DAYLIGHT

DTSTART:19870405T020000

RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4

TZOFFSETFROM:-0800

TZOFFSETTO:-0700

TZNAME:PDT

END:DAYLIGHT

X-NSCP-TZCROSS:19880403T100000Z;19881030T090000Z;19890402T100000Z;19891029T090 000Z;

    19900401T100000Z;19901028T090000Z;19910407T100000Z;19911027T090000Z;

    19920405T100000Z;19921025T090000Z;19930404T100000Z;19931031T090000Z;

    19940403T100000Z;19941030T090000Z;19950402T100000Z;19951029T090000Z;

    19960407T100000Z;19961027T090000Z;19970406T100000Z;19971026T090000Z;

    19980405T100000Z;19981025T090000Z;19990404T100000Z;19991031T090000Z;

    20000402T100000Z;20001029T090000Z;20010401T100000Z;20011028T090000Z;

    20020407T100000Z;20021027T090000Z;20030406T100000Z;20031026T090000Z;

    20040404T100000Z;20041031T090000Z;20050403T100000Z;20051030T090000Z;

    20060402T100000Z;20061029T090000Z;20070401T100000Z;20071028T090000Z;

    20080406T100000Z;20081026T090000Z;20090405T100000Z;20091025T090000Z;

    20100404T100000Z;20101031T090000Z;20110403T100000Z;20111030T090000Z;

    20120401T100000Z;20121028T090000Z;20130407T100000Z;20131027T090000Z;

    20140406T100000Z;20141026T090000Z;20150405T100000Z;20151025T090000Z;

    20160403T100000Z;20161030T090000Z;20170402T100000Z;20171029T090000Z;

    20180401T100000Z;20181028T090000Z;20190407T100000Z;20191027T090000Z;

    20200405T100000Z;20201025T090000Z;20210404T100000Z;20211031T090000Z;

    20220403T100000Z;20221030T090000Z;20230402T100000Z;20231029T090000Z;

    20240407T100000Z;20241027T090000Z;20250406T100000Z;20251026T090000Z;

    20260405T100000Z;20261025T090000Z;20270404T100000Z;20271031T090000Z;

    20280402T100000Z;20281029T090000Z;20290401T100000Z;20291028T090000Z;

    20300407T100000Z;20301027T090000Z;20310406T100000Z;20311026T090000Z;

    20320404T100000Z;20321031T090000Z;20330403T100000Z;20331030T090000Z;

    20340402T100000Z;20341029T090000Z;20350401T100000Z;20351028T090000Z;

    20360406T100000Z;20361026T090000Z;20370405T100000Z;20371025T090000Z;

  20360406T120000Z;20361026T110000Z;20370405T120000Z;20371025T110000Z

END:VTIMEZONE


Calendar Server タイムゾーンの管理

ここで説明する内容は次のとおりです。

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

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


ヒント

新しいタイムゾーンを追加する最も簡単な方法は、次の手順で説明する各ファイルで、追加するタイムゾーンに似たタイムゾーンエントリをコピーし、それを編集する方法です。たとえば、America/Miami 用のタイムゾーンを追加するのであれば、各ファイルで America/New_York のタイムゾーンエントリをコピーして編集します。


新しいタイムゾーンを追加するには

  1. 次のファイルに新しいタイムゾーン用のタイムゾーンブロックを追加します。
  2. cal_svr_base/opt/SUNWics5/cal/data/timezones.ics

    新しいタイムゾーンブロックを追加する最も簡単な方法は、追加するタイムゾーンと夏時間 (DST) の時間差などが似ている既存のブロックをコピーする方法です。次に、追加するタイムゾーンに合わせて新しいタイムゾーンブロックに変更を加えます。追加するタイムゾーンに夏時間 (DST) が適用される場合は、それに似たブロックを探します。

  3. 次のファイルで getDisplayNameofTZID テンプレートを修正します。
  4. cal_svr_base/opt/SUNWics5/cal/html/language/i18n.xsl file

    この language には、サイトで使用する言語のディレクトリを指定します。たとえば、英語であれば en、フランス語であれば fr を指定します。

    i18n.xsl ファイルに次のような新しいエントリを追加します。

    <xsl:when test="$tzid='TimeZoneArea/TimeZoneName'"
    TimeZoneArea/TimeZoneName</xsl:when>

    TimeZoneArea には地理的な領域 (Africa、America、Asia、Atlantic、Australia、Europe、または Pacific) を指定します。

    TimeZoneName には新しいタイムゾーンの名前を指定します。

    例 :

    <xsl:when test="$tzid='America/Miami'">America/Miami</xsl:when>

  5. 次の XML ファイルを修正します。
  6. cal_svr_base/opt/SUNWics5/cal/html/change_timezone.xml
    cal_svr_base/opt/SUNWics5/cal/html/new_cal.xml
    cal_svr_base/opt/SUNWics5/cal/html/new_group.xml

    それぞれのファイルに次の行を追加します。

    <timezone type="TimeZoneType" tzid="TimeZoneArea/TimeZoneName" offset="offset"/>

    TimeZoneType には、 "americas""europeAfrica"、または "asiaPacific" を指定します。

    TimeZoneAreaTimeZoneName手順 2 で定義しています。

    offset には、新しいタイムゾーンが GMT と比較して何時間進んでいるか (+) または遅れているか (-) を指定します。たとえば、新しいタイムゾーンが GMT から 4 時間遅れている場合は、時間差として -04:00 を指定します。

    例 :

    <timezone type="americas" tzid="America/Miami" offset="-05:00" daylightOffset="-04:00"/>

  7. 新しいタイムゾーンをユーザー設定のデフォルトタイムゾーンにするときは、次のファイルの icsTimeZone エントリを変更します。
  8. cal_svr_base/opt/SUNWics5/cal/html/default_user_prefs.xml

  9. Calendar Express のオンラインヘルプに新しいタイムゾーンへの参照を追加するときは、次のファイルを修正します。
  10. cal_svr_base/opt/SUNWics5/cal/html/language/chcncpt.html

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

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

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

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

  1. 次のファイルで、変更するタイムゾーンのタイムゾーンブロックを変更します。
  2. cal_svr_base/opt/SUNWics5/cal/data/timezones.ics

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

  3. 次のファイルで getDisplayNameofTZID テンプレートを修正します。
  4. cal_svr_base/opt/SUNWics5/cal/html/language/i18n.xsl file

    ここで、language には、サイトで使用する言語のディレクトリを指定します。たとえば、英語であれば en、フランス語であれば fr を指定します。

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

  5. タイムゾーンの変更に合わせて次の XML ファイルを変更します。
  6. cal_svr_base/opt/SUNWics5/cal/html/change_timezone.xml
    cal_svr_base/opt/SUNWics5/cal/html/new_cal.xml
    cal_svr_base/opt/SUNWics5/cal/html/new_group.xml

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

  7. 変更がユーザー設定のデフォルトタイムゾーンに影響するときは、次のファイルの icsTimeZone エントリを修正します。
  8. cal_svr_base/opt/SUNWics5/cal/html/default_user_prefs.xml

  9. 変更が Calendar Express のオンラインヘルプに影響するときは、次のファイルを修正します。
  10. cal_svr_base/opt/SUNWics5/cal/html/language/chcncpt.html

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



前へ      目次      索引      次へ     


Copyright 2004 Sun Microsystems, Inc. All rights reserved.