[Dev] ICU, datetimes, and recurrence
ken at transpac.com
Sat Mar 26 20:59:12 PST 2005
>I'd like to get recurrence working in Chandler in the early 0.6
>timeframe. At the moment, Chandler does't store repeating events in the
>repository as anything but a finite number of disconnected events.
>There are various problems with this:
>It's not particularly hard to convert one datetime class instance to
>another, but it would be great to only have one datetime class in use
>There will be a lot of code in Chandler that displays datetimes, these
>datetimes will need to be localized. Overall, it might make our lives
>easiest to settle on ICU datetimes throughout our content model.
I think this would be a really good idea, especially since (a) there
are other parts of ICU that would be important for Chandler I18N
(such as message formatting), and (b) using ICU would guarantee
consistent behavior across platforms (and OS versions), which has
been a common problem with other date/time support packages,
especially the standard C library.
>follow this path, to get recurrence working we'll need to:
>A) Pry some working bindings out of Nick's tender clutches :). Nick
>says he's got a fair fraction of ICU datetimes working, but the bindings
>as a whole aren't done. My (perhaps naive) hope is to do the work to
>get recurrence working using one date time class.
>So if we decide to use ICU datetimes through Chandler, it would be great
>to start integrating ICU ASAP. We probably won't be able to switch
>everything over yet, since the bindings aren't done, but we could at
>least get started switching over datetimes.
Adding ICU as a library that's available for Mac/Windows/Linux should
be pretty straightforward, as it's regularly built for a wide variety
of platforms, and there's very good on-line support (mostly from
George Rhoten, an IBM employee).
It would be interesting to find out what version of ICU Nick has been
wrapping. The current latest release is 3.2, with 3.4 due out late
TransPac Software, Inc.
More information about the Dev