2003年09月04日

iCalとLinuxザウルスのカレンダーは連携できるか?

普段はスケジュール管理をザウルスの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

のように実行してしばらく待つと、ログメッセージが表示されるので、その後にMacのiCalで、「カレンダー」メニュー → 「追加...」を選択。URLは http://192.168.129.201:8990/zaurus.ics と入力。「ToDoの項目を削除」チェックボックスはオフにしておく。
これで、ザウルスのカレンダーとToDoの内容がiCalに表示される。最後に、ターミナルから Ctrl+C を入力して zical.rb を終了。

※USB接続でなくLAN経由などの場合は、-b オプションの後に、バインドするIPアドレスを指定。ポート番号を8990以外に変えたいときは -p で指定。

RFC2445を斜め読みしただけで、繰り返し日程の変換にいまいち自信がないけれど、とりあえずうまくいっているようだ。

Posted by Hiroyuki KUROSAKI at 2003年09月04日 13:15 このエントリーを含むはてなブックマーク
この記事の TrackBack URL:
http://noir.s7.xrea.com/mt/mt-tb.cgi/54
Comments

Ruby/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
Post a comment

サイン・インを確認しました、 さん。コメントしてください。 (サイン・アウト)

(いままで、ここでコメントしたとがないときは、コメントを表示する前にこのウェブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)


情報を登録する?