Timezones are an important and at times awkward feature of calendaring. There is no official registry of timezones. The Olson database comes closest. In the Olson database, timezones are named according to their continent and nearest large city, for example America/New_York.
System timezones
Bedework provides a set of timezones, the system timezones, which are available to all users of the system. The distributed system comes with timezones derived from the Olson database but any set of timezones could be used. The administrative application provides a means for replacing the system timezones by uploading an xml formatted data file.
Building timezone information
- Convert the Olson database into a set of ics files. The data is available from ftp://elsie.nci.nih.gov/pub. vzic, a program available at http://www.dachaplin.dsl.pipex.com/vzic/, can be used to convert the zone information, Download and unpack the latest source and set the appropriate variables:
- OLSON_DIR=wherever the data was unpacked.
- PRODUCT_ID=-//BEDEWORK//NONSGML Bedework Calendar system//US
- TZID_PREFIX=
The TZID_PREDIX can be set to a value which indicates which system the timezone originated from, e.g. “/Bedework.org/”. Having built vzic (make) and run it (./vzic) a directory named zoneinfo should be built. This is copied into the bwtolls/resources directory.
A copy of this generated data is available at [http://Bedework.org/downloads/data/:http://Bedework.org/downloads/data/
- Convert the data into an xml form for upload. Change directory into the bwtools project and run the following (all one line) which will create a file of xml timezone information:
Code Block |
---|
java -cp bin/bw-tztools-3.2.jar:lib/log4j-1.2.8.jar org.Bedework.tools.timezones.Timezones -dir projects/bwtools/resources/zoneinfo -f tz.xml
|
A copy of this is generated file is also available at the link above. Finally we need to replace the system timezones in the production system.
...
system has a server that implements the latest Timezone standard:
http://tools.ietf.org/html/draft-douglass-timezone-service-04
The timezone server is essential to the running of the Bedework system. The server periodically updates itself from a primary server.