普段はスケジュール管理をザウルスのdatebook2でやっていて、パソコン上のPIMソフトは全く使ってないけれど、仕事場にあるiBookのiCalはビューアとしてだけでもいいから使ってみたい。
それで、ザウルスのスケジュールデータとiCalとの連携にヒントとなるような情報がないかと探していたら、「清澄日記3.0: mtとphpとiCalで快適スケジュール」というページを発見。Movable TypeとiCalとの連携が主眼だけれど、技術的に応用できそう。
考え方としては、
1. ザウルス側で、カレンダーとToDoのデータをiCalendar(RFC2445)形式で返すデーモンを作成。boa + ruby (or perl) CGI でもいいし、単体で動作するものを作ってもいい。
2. Mac側は、iCalで「カレンダー」メニューの「追加」で、ザウルス側のURLを指定。
1は、A300ならPIMデータがXML形式なので、rubyで簡単に作れそう。
(以上、2003-09-03 09:09:58)
で、できたのが、これ。
http://noir.s7.xrea.com/pub/zaurus/zical.rb
要REXML, WEBrick。
# つまり ruby-1.8.0。手作業で展開してむりやり1.6.7と共存させてます。
MacとUSBケーブルで接続しておき(※)、ターミナルで
# ruby-1.8 zical.rb
※USB接続でなくLAN経由などの場合は、-b オプションの後に、バインドするIPアドレスを指定。ポート番号を8990以外に変えたいときは -p で指定。
RFC2445を斜め読みしただけで、繰り返し日程の変換にいまいち自信がないけれど、とりあえずうまくいっているようだ。
Posted by Hiroyuki KUROSAKI at 2003年09月04日 13:15Ruby/Qteでガワをつけたスクリプトを作ってみたところ、メモリ不足警告が頻発しました。これもC++で書いたほうがいいのかな…。
Posted by: noir on 2003年09月13日 22:03やっぱりコマンドラインからの起動のみにしました。(Revision 1.14) CSVのパースやソケット関連は自分で書き直したので、1.6でも1.8でも動くはずです。
-s オプションでサーバとして起動します。Readyの文字が出たら、iCalから更新操作を行います。一度通信が終わったら終了するようにしました。
-s オプションをつけない場合は標準出力に書き出します。
それから、-d box オプションをつけると、yaktyさんが開発したPIMデータ読み書きツール、zdbatを起動して、その結果を変換出力するようにしてみました。ただし、時刻表記などまだ不確定の部分があるため、いまのところはあくまで動作確認用です。
Posted by: noir on 2003年09月14日 03:35サイン・インを確認しました、 さん。コメントしてください。 (サイン・アウト)
(いままで、ここでコメントしたとがないときは、コメントを表示する前にこのウェブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)