予定表関係のツールがほしいのですが、どういったデータフォーマットがあるのかと考えたら、iCalendarがあったということを思い出しました。これを使ってあげるのが一番シンプルな気がします。問題は、このデータフォーマットを扱えるライブラリがどれくらいあるかですが、それなりにあるようです。
- iCalcreator – PHP … iCalcreator: 概要 – SourceForge.JP
- VObject – Python … VObject Home
- iCal4j – Java … SourceForge.net: iCal4j
- RiCal – Ruby … InfoQ: RiCal: Rubyの新しいiCalendarライブラリ
システムでiCalendarを扱うには上記ライブラリを使えばいいのですが、ユーザとしてデータ編集をする場合にはツールがほしいところです。そんなときはMozilla Sunbirdを使うとかすれば良さそうです。Calendar プロジェクト – Lightning と Sunbird®のホームによると、ThunderbirdのAddonもありますから、連携させるのもいいでしょう。Linuxなら、Kontact Homepage – KOrganizer: Kontact Calendaringもあります。
ところで、メール情報はIMAPを使っているので、カレンダー情報も同じような仕組みで複数マシンで共有したいところですが、どうすればいいでしょう。そんなときは、WebDAVを使うと良いようです。単純な参照用Webインタフェースがほしい場合はPHP iCalendarが便利なようです。個人の情報しか使わないなら、Sunbirdとかで十分なので、わざわざWebインタフェースを用意する必要があるのか、と思うかもしれませんが、最近仮想マシンが増えているので、実マシン以外を使っているときに仮想マシンからアクセスするとなると、Webインタフェースあり、の方が便利そうです。ちなみに、大がかりになってくるとグループウェアを採用するか、という話になりがちなのですが、個人の情報と会社の情報は管理単位が違うので、マージする際は結局別々のシステムで管理しているデータを手元でマージするということになる点を考えると、躊躇します。グループウェアは確かに各アプリ(メーラ、TODO、スケジュール)の連携はしやすくできていますが、各アプリで管理するデータへ他の同様のアプリからアクセスできるような形にはなっていないことが多いからです。メーラなどはIMAPがでてきたのでいいのですが、TODOやスケジュールについてはiCalendarがどれくらい使えるか不明です。もし使えるなら、グループウェアも候補にいれたいところ。Kontact Homepage – Supported Groupware Serversによると、いろいろありますね。以前エントリしたグループウェアとかもありますし。
PDAとかの対応も気になりますが、Windows Mobileなら、RemoteCalendars, the Outlook2003’s plug-in to subscribe, delete and reload your iCalendarというのがあるようです。
ちなみに、Movable Type の記事を iCal で管理する – かたつむりくんのWWWとかも面白い発想です。試験管のなかのコード :: iCal4j にチャレンジも参考になるかもしれません。