Sun logo      Previous      Contents      Index      Next     

Sun ONE Calendar Server 6.0 Administrator's Guide

Appendix B  
Calendar Server Time Zones

This appendix describes how Sun™ ONE Calendar Server defines and processes time zones, including:

For more information about time-zone properties and parameters, refer to the RFC 2445, Internet Calendaring and Scheduling Core Object Specification (iCalendar):

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

 


Overview of Calendar Server Time Zones

The timezones.ics file contains the representation of the time zones supported by Calendar Server. On Solaris Systems, the file is located in the following directory:

cal_svr_base/opt/SUNWics5/cal/data

At startup, Calendar Server reads the timezones.ics file, generates time-zone data, and then stores the data in memory. Thus, time-zone data is kept in memory while Calendar Server is running. Consequently, if you add a new time zone or modify an existing one, you must stop and restart Calendar Server for the change to take effect.

Time zones in the timezones.ics file are identified by the TZID parameter. For example, Calendar Server identifies the Pacific Standard Time (PST/PDT) zone using the America/Los_Angeles TZID, as shown in Figure B-1. The TZNAME property is an abbreviated representation of the time zone, such as PST (Pacific Standard Time) for the America/Los_Angeles time zone.

Time zones such as America/Los_Angeles that recognize daylight savings time (DST) contain two sub-components: STANDARD for stand time and DAYLIGHT for DST. The X-NSCP-TZCROSS list contains a series of dates that indicate when the time zone changes to and from DST (DAYLIGHT) and standard (STANDARD) time.

The RRULE property defines the pattern of the STANDARD and DAYLIGHT rules. The TZOFFSETFROM and TZOFFSETTO properties define the offset from GMT before and after the DST to standard or standard to DST change occurs. The Calendar Express user interface uses the dates in X-NSCP-TZCROSS to determine when to display a change in the time zone.

A WCAP command that includes the time zone ID (tzid) parameter should refer to a valid time zone defined in the timezones.ics file. Calendar Server then returns data using that time zone. If a WCAP command specifies an unrecognized time zone, Calendar Server returns data in the GMT time zone by default. For more information about WCAP, refer to the Sun ONE Calendar Server 6.0 Programmer’s Manual.

Figure B-1 shows the America/Los_Angeles time-zone representation in the timezones.ics file.

Figure B-1  America/Los_Angeles Time-Zone Representation in the timezones.ics File 

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;19891029T090000Z;

  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

 


Managing Calendar Server Time Zones

This section describes these topics:

Adding a New Time Zone

This section describes how to add a new time zone to Calendar Server, so that it is available in the Calendar Express user interface. For example, you might want to add a new time zone for America/Miami.


Tip

The simplest way to add a new time zone is to copy and edit time-zone entries that are similar to the time zone you want to add in each of the files described in the following steps. For example, if you want to add a time zone for America/Miami, copy and edit the time-zone entries in each file for America/New_York.


To Add a New Time Zone

  1. Add a time-zone block for the new time zone in the following file:
  2. cal_svr_base/opt/SUNWics5/cal/data/timezones.ics

    Again, the simplest way to add a new time-zone block is to copy an existing block that is similar, including any daylight savings time (DST) offsets, to the time zone you want to add. Then, edit the new time-zone block, making any changes for the new time zone. If your new time zone has Daylight Savings Time (DST), try to find a similar

  3. Modify the getDisplayNameofTZID template in the following file:
  4. cal_svr_base/opt/SUNWics5/cal/html/language/i18n.xsl file

    where language specifies the directory for the language your site is using. For example: en for English, or fr for French.

    Add the new entry in the i18n.xsl file as:

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

    where:

    TimeZoneArea is one of the geographic divisions: Africa, America, Asia, Atlantic, Australia, Europe, or Pacific.

    TimeZoneName is the name of your new time zone.

    For example:

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

  5. Modify the following XML files:
  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

    In each of these files, add the following line:

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

    where:

    TimeZoneType is "americas","europeAfrica", or "asiaPacific".

    TimeZoneArea and TimeZoneName are defined in Step 2.

    offset is the number of hours that your new time zone is ahead (+) or behind (-) GMT. For example, if your new time zone is four hours behind GMT, the offset would be "-04:00".

    For example:

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

  7. If you want the new time zone to be the default time zone for user preferences, modify the “icsTimeZone” entry in the following file:
  8. cal_svr_base/opt/SUNWics5/cal/html/default_user_prefs.xml

  9. To include a reference to your new time zone in the Calendar Express online help, modify the following file:
  10. cal_svr_base/opt/SUNWics5/cal/html/language/chcncpt.html

  11. Stop (if necessary) and then restart Calendar Server for your new time zone to take effect.

 

Modifying an Existing Time Zone

This section describes how to modify an existing time zone. For example, you might want to change the name of a time zone, such as “America/Phoenix” to “US/Arizona”.

To Modify an Existing Time Zone

  1. Modify the time-zone block for the time zone you want to change in the following file:
  2. cal_svr_base/opt/SUNWics5/cal/data/timezones.ics

    If you are changing a time-zone name, change the TZID entry to the new name.

  3. Modify the getDisplayNameofTZID template in the following file:
  4. cal_svr_base/opt/SUNWics5/cal/html/language/i18n.xsl file

    where: language specifies the directory for the language your site is using. For example: en for English or fr for French.

    If you are changing the name, change the existing time-zone name to the new name.

  5. Modify the following XML files for changes to the time zone:
  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

    For information about the entries in these files, see Step 2 and Step 3 in To Add a New Time Zone.

  7. If the change affects the default time zone for user preferences, modify the “icsTimeZone” entry in the following file:
  8. cal_svr_base/opt/SUNWics5/cal/html/default_user_prefs.xml

  9. If the change affects the Calendar Express online help, modify the following file:
  10. cal_svr_base/opt/SUNWics5/cal/html/language/chcncpt.html

  11. Stop (if necessary) and then restart Calendar Server for your time-zone changes to take effect.



Previous      Contents      Index      Next     


Copyright 2003 Sun Microsystems, Inc. All rights reserved.