→Zical 0.2 へ。以下は古い内容です。
iCalとLinuxザウルスのカレンダーは連携できるか?ではRubyスクリプトでしたが、C++で書いてみました。
ZiCalは、LinuxZaurusのカレンダーとToDoのデータをiCalendar(RFC2445)形式に変換して、ネットワークごしに転送するためのサーバプログラムです。
ZiCalを起動して、Startボタンを押すと、カレンダーとToDoのデータを読み込み、クライアントPCからの接続を待つ状態になります。TCPポート番号のデフォルトは8990ですが、起動時の画面で変更できます。
PIMのデータベースは、SL-A300のXML形式と、SL-B500/C700以降のBOX形式の両方に対応しています。どちらの形式のデータを扱うかは、「ソフトウェアの追加/削除」でのインストール時に自動判定しています (後述)。
*配布
ZiCalは、GNU General Public Licenseにもとづいて利用できます。
インストール用パッケージ:
http://noir.s7.xrea.com/pub/zaurus/zical_0.1.3_arm.ipk
ソースコード:
http://noir.s7.xrea.com/pub/zaurus/zical-0.1.3-src.tar.gz
*利用の仕方
1. Mac (Mac OS X 10.2以上)とLinuxZaurusをUSBケーブルで接続する。
※MacとLinuxZaurusとを接続するには、USBドライバのインストールが必要です。以下の記事が参考になります。
海上忍「OS Xハッキング! 第62回 OS XでLinux Zaurusを使う(1)」
http://pcweb.mycom.co.jp/column/osx/osx062.html
2. LinuxZaurusで、ZiCalを起動し、Startボタンを押す。Status欄に Ready という文字が出るのを待つ。
このとき、LinuxZaurusの側にもデータがファイルとして保存されます。パスは本体メモリー ($HOME/Documents) の text/calendar/zaurus.ics です。
3. MacのiCalで、「カレンダー」メニュー→「追加...」を選択する。URLは、http://192.168.129.201:8990/zaurus.ics と入力し、「ToDoの項目を削除」チェックボックスはオフにする。OKを押すと、データの転送が始まり、iCalに「追加」のカレンダーとして表示される。
4. ZiCalのStatus欄にFinishedの文字が出たら、ZiCalを終了する。
カレンダー名を「追加」から「zaurus」などに変えておくとよいでしょう。また、次回からは、ZiCalを起動してStartボタンを押し、iCalでは「カレンダー」メニュー→「更新」を選択すれば転送を開始できます。
*注意点
(1) iCalendar形式への変換について
iCalでの表示を考慮した変換を行っています。
・「場所」(LOCATION)は「件名」(SUMMARY) の後に @ に続けて挿入。「SUMMARY@LOCATION」チェックボックスをオンにすると、「場所」を「件名」の後に @ に続けて挿入。iCal では「場所」は情報パネル (Command-I) に表示されますが、カレンダー画面本体に場所も表示したい場合にはオンにします。
・終日日程の毎日繰り返しは、開始日 (DTSTART)・終了日 (DTEND) 指定に変更。
カテゴリーとアラームには対応していません。
(2) PIMのデータベース形式について
「ソフトウェアの追加/削除」でのインストール時に、 /opt/QtPalmtop/lib/libzdtm.so が存在すれば zical_zdb が、存在しなければ zical_xml が、/opt/QtPalmtop/bin/zical からのシンボリック
リンクになります。
SL-B500/C700以降で datebook2 (XML版) を使用している場合は、ターミナルで、
su
rm /opt/QtPalmtop/bin/zical
ln -s zical_xml /opt/QtPalmtop/bin/zical
を実行すれば、XML形式データのほうを読み込みます。
(3) セキュリティについて
ZiCalを起動してStartボタンを押すと、ネットワークからの接続待ち状態になります。このとき、USBケーブル接続以外にLAN接続、インターネット接続を行っている場合には、外部から不正にデータを取得されるおそれがあります。
*既知の問題
iCalを起動したとき、前回ZiCalから読み込んだデータが表示されないことがあります。日表示と月表示を切り変えるなどすると回復するようです。
*お願い
iCalendar形式への変換は、十分にテストしたつもりですが、もしおかしな点を発見されましたら、ぜひご連絡ください。
また、iCal以外のPIMアプリケーションへの読み込みに成功、または失敗された場合についても教えていただければ幸いです。
*参考資料
RFC2445 "Internet Calendaring and Scheduling Core Object Specification (iCalendar) http://www.ietf.org/rfc/rfc2445.txt
ザウルス宝箱Pro シャープライブラリ ダウンロードのページ http://more.sbc.co.jp/sl_j/doc/reference/20021227/doc-sharp/index.html
LinuZau ToolBox Wiki - zdbat http://yakty.s31.xrea.com/cgi-bin/wiki/linuzau/wiki.cgi?zdbat - BOX形式PIMデータの読み込み方法について参考にさせていただきました。
(以上、2003-09-23 01:49:56)
(2003-12-03 追記)
バージョン 0.1.1 を公開しました。iCal 1.5.1で、繰り返し日程が無視される問題に対処しました。Pantherでの接続エラーには対応できていません。
(2004-01-15追記)
Mac OS X USB driver の最新バージョン (0.2.5) を使えば、Panther でも接続できることを確認しました。
(2004-02-21 追記)
バージョン 0.1.2 を公開しました。
・Startボタンを押すとザウルスにもiCalendar形式ファイルを保存します。/home/{root,zaurus}/Documents/text/calendar/zaurus.ics になります。
・出力する文字コードを UTF-8 (デフォルト)、EUC-JP、Shift_JIS のなかから選べます。
・転送前のデータ準備にかかる時間を短くしました。
・(問題) zdb版のほうでは、通信終了時に Finished と表示されず、Start ボタンも復帰しない状態になります。連続して転送したいときは、いったん終了してもういちど実行すれば問題なさそうです。
それから、Mac OS X USB driver 0.2.5 ですが、SL-C760ではIPアドレスを手入力で設定する必要がありました。SL-A300のほうは問題ありません。
(2004-02-23 追記)
バージョン 0.1.3 を公開しました。
・「SUMMARY@LOCATION」チェックボックスを新設。デフォルトはオンになっていますが、iCal ユーザーもオフにしたほうがよいでしょう。(「場所」は情報パネルに表示されていることに、今まで気がつきませんでした。)
以下、自分で使ってみて気づいたことのメモです。次回修正するかもしれません。
・Zaurusで、終日日程の繰り返しを、「繰り返し」を使わずに「開始日」と「終了日」で指定した場合、レコードが日ごとに分かれてしまう。
・(zical_zdb) ToDoの「メモ」欄も、SUMMARYに改行につづけて挿入してはどうか。
Zaurus→iCalとは逆に、インターネット上でiCal向けに公開されているカレンダーを、Zaurusに取り込めるようにすると、非Macユーザーにとっても面白いかも。
ただ、ZaurusのカレンダーやToDoは複数のカレンダーを扱えるようになっていないのが問題か。解決策としては、カテゴリを使って管理するとか。
いずれにしても、自分自身はZaurusをめったにインターネットに接続しないし、カテゴリ分類も活用していないからなぁ…。
Posted by: noir on 2003年09月25日 12:14> ・Zaurusで、終日日程の繰り返しを、「繰り返し」を使わずに「開始日」と「終了日」で指定した場合、レコードが日ごとに分かれてしまう。
zical_xmlのほうのみの現象でした。で、調べてみたところ、これはQtopiaの関数の問題なので、対処するなら自前でXMLをパースするしかなさそうです。今もToDoのほうは自前でパースしているので、datebookもそうしてしまえばいいのですが、面倒…。
Posted by: noir on 2003年09月27日 19:15非マックユーザーは、クライアントとしてMozilla Calendarが使えるようです。
でも、Mozilla Firebird Windows日本語版 + Mozilla Calendar で試してみたところ、なぜか日本語の大部分が文字化けしてしまう (? になる)。これはどうすれば直るんでしょう?
Posted by: noir on 2003年09月30日 01:47iCalを1.5.1にバージョンアップしたら、週ごとの繰り返し日程が正しく表示されなくなってしまいました。ううむ。
Posted by: noir on 2003年10月23日 13:19iCal 1.5.1対応の修正はできたんですが、今度はPantherを入れたら AJZaurusUSB が動かなくなったみたい。
Posted by: noir on 2003年10月25日 22:25再起動したらAJZaurusUSBの現バージョンで問題なくつながりました。
ところが、iCalでネットワークエラー (-157) に……。
原因はまだわかりません。
/var/log/system.logを見たら、
> Oct 27 13:32:38 localhost /Applications/iCal.app/Contents/MacOS/iCal: ioctl() failed: Device not configured
というメッセージを発見。curlやtelnetコマンドなどでは問題ないんだけどなぁ…。
Pantherで試しているのですが、うまくいきません。
ただ、SDカードにiCalendar(RFC2445)形式のファイルを
保存するようにしたら、もっと簡単にできる
(というか、USB直結する必要もない)のではと思うのですが。
それ以前に、ファイルって一体どこにあるんでしょう(涙)
TOMOさん、ありがとうございます。
出力をファイルに落とす方法ですが、Startボタンを押した後ザウルスのターミナルに移り、
cd /mnt/card/Documents
wget http://127.0.0.1:8990/zaurus.ics
を実行すると、iCalendar形式のファイル zaurus.ics がザウルスのSDカードのDocumentsフォルダにできます。
USB経由で Mac につないでいるときも同様で、Startボタンを押した後Mac のターミナルで
curl -O http://192.168.129.201:8990/zaurus.ics
とやれば、Mac側に zaurus.ics ができます (iCal経由でなければ接続は問題ないようです)。これをiCalの ファイル → 読み込み… で読み込んでやれば、とりあえず使えます。
直接ZiCalでもファイル保存できるようにしたほうがよいでしょうか?
その前に、iCal 1.5.1 対応にバージョンアップしたものをパッケージせねば…。
Posted by: noir on 2003年11月21日 15:24Noironさん、こんにちは。
久しぶりに訪れてみたら、返事があったのでびっくり。
さっそく試してみたら、バッチリうまくいきました!
ありがとうございます。
>直接ZiCalでもファイル保存できるようにしたほうがよいでしょうか?
これはぜひお願いします。
これで念願のiCal使用に踏み切れます。バンザーイ!
TOMOさん、ありがとうございます。
Pantherでの接続エラーと、プログラム単体でのファイル保存にはまだ対応できていませんが、iCal 1.5.1 で繰り返し日程が表示されない問題に対処したものを公開しました。お試しください。
はじめまして。
以前からこっそり使わせていただいていました。
ところで、LAN接続で、なら Panther でも iCal から接続可能ですね。
(0.1 でも大丈夫でした。ご承知の上であえて書かれてなかったのでしたらごめんなさい)
zaucerさん、ありがとうございます。
LAN経由での接続ではまだ実際に試していませんでした。
AJZaurusUSBの作者の方に報告したほうがいいかな…
Posted by: noir on 2003年12月05日 05:47Mac OS X USB driver を 2.5.0 にしたら、iCalと接続できるようになりました。
Posted by: noir on 2004年01月13日 13:46iCal 1.5.2 でも問題なさそうです。
Posted by: noir on 2004年01月26日 15:18ググったらzxsyncなるものを発見。
http://zxsync.sourceforge.net/html/index.html
いまのところドキュメントのみが公開されている。
すばらしいソフトをありがとうございます。
kde3.1.4のKorganizerを使用しております。
そのままでは読み込みに失敗しましたが、
(Korganizerが無反応になりました)
いったんwgetでzaurus.icsを
取り込み、
lvコマンドで文字コードをUTF-8からEUC-JPに変更することで
文字化けが解消され、使用できました。
それでもよいのですが、
できれば取り込む時に
文字コード変換が選択できるようにして
いただけますと大変助かります。
素人の要望で恐縮です。
Akiさん、はじめまして。ありがとうございます。
無反応になったというのが気になりますが、ZiCalはリクエストに応答してヘッダとデータを送り出すまでに少し時間がかかるという問題があるので、その間に通信がタイムアウトしてしまうのかもしれません。リクエスト待ちの段階で全部用意して、リクエストにすぐに応じられるように変更してみます。
文字コード変換も、応用範囲が広がるとうれしいので、ぜひ盛り込んでみたいと思います。
noirさん、お返事ありがとうございました。
文字コード変換について、ご考慮いただける
ようで、うれしいです。期待しております。
ところで、Korganizerの無反応の件ですが、
使用しておりますのはturbolinux8です。これと
zaurusをLANでつなぎ、Korganizerで
読み込みますと、不明なファイルですという
表示がでて、固まってしまうか、落ちてしまい
ました。何度試みても同様です。それで
文字コード変換をしてみて読み込み成功! と
なりました。
Fedora Core のようなUTF-8を使用している
ものでしたら、
そのままでも読み込めるのかもしれません。
コメントを読み返してみたら、本体メモリーではなくSDカードへの保存を希望されてたんですね ;;;
いちおう、$HOME/Setteings/zical.conf を開いて、saveFileName を適当なパスに書き換えれば、保存先を変えることができます。
Posted by: noir on 2004年02月21日 20:53Akiさん、
KOrganizerで固まるというのは、ひょっとしたら、文字コードの問題よりも、HTTPヘッダのMIMEタイプ指定 (text/calendar) が関係しているのかもしれません。KOrganizer で読み込める iCalendar 共有サイトなどがありましたら、教えていただけますか?
Emacs Lisp で icalendar.el を作っている人がいた!
http://de.geocities.com/ulf_jasper/emacs.html
これで iCalendar ファイルを ~/diary にとりこんでから、
M-x calendar して、該当の日付の上で d を押すと、
その日の予定が出てきます。
ただ、繰り返し日程の変換に問題があるみたい。
Posted by: noir on 2004年02月21日 23:46最新の0.1.2早速使わせてもらいました。KOrganizer (KDE3.1.4) での読み込みに成功いたしました。文字コード変換を実装していただいたおかげで、EUC-JPを指定し、KOrganizerの「開く」で「場所」にzaurusの IPアドレス:8990/zaurus.icsを入力、見事できました。感激です、ありがとうございました。上記のお尋ねの共有サイトの件ですが、見つけられませんでした。申し訳ありません。
ところで、KOrganizerで予定を見ると、「件名@場所」と表示されますが、これは仕様なのでしょうか。
KOrganizerのファイルでは、SUMMARY: の後にLOCATION: があるのですが、これに反映はされませんか。
成功しましたか。よかったです。
> ところで、KOrganizerで予定を見ると、「件名@場所」と表示されますが、これは仕様なのでしょうか。
iCal が、iCalendar の LOCATION 要素を表示しないため、このように出力するようにしました。
とりあえず、チェックボックスか何かで、LOCATIONをSUMMARYにつなげるかどうかを選択できるようにしてみます。
次のバージョンでは、ザウルスのカレンダーの項目と iCalendar の項目の対応関係をユーザーがカスタマイズできるようにしようと考えています。
Posted by: noir on 2004年02月23日 12:25すみません、今の今まで勘違いしてましたが、iCal でも LOCATION 要素は表示されていました。
Posted by: noir on 2004年02月23日 18:27初めまして.
ここに,これを書いて良いのかどうかわからなかったのですが,せっかく欄がありましたので,書いてPOSTボタンを押させてください.
このページを見た瞬間に,
「そう!,こんなものが欲しかった...」と思ったのですが,なぜか,Startボタンを押した後,Preparing...のままで止まってしまいます.何回かインストールからやり直しましたが,Startボタンを押した後は,時に,落ちたり,時にPreparing...のままだったりします.
これは,もしかして,私のSL-A300のシステムがどこかおかしいのでしょうか.
ありがとうございます。
もし、SL-A300にターミナルをインストールされていましたら、
ls -l ~/Applications/datebook/datebook.xml
ls -l ~/Applications/todolist/todolist.xml
を実行してみて、それぞれ何バイトぐらいになっているか教えていただけますでしょうか。
私のは datebook.xml が 92231 バイト、 todolist.xml が 69528 バイトですが、Preparing ... から Done と表示されるまでが、だいたい30~40秒ぐらいかかります。そのあとさらに zaurus.ics に保存するまでにも同じくらいかかっています (このへん、もっと速くできそうですので、また改善してみますが…)。
データが大きいために待ち時間が長くなっているのか、それともやはり何か不具合が起きているのかも…?
また、「システム情報」で空きメモリはどれくらいになっていますか?
Posted by: noir on 2004年02月25日 23:02さっそく見てみました.
datebook.xml が 593094 バイト,todolist.xml が 5786 バイトでした.総メモリ中の空きメモリは10845KB,ユーザエリアは本体メモリが20273KB,SDカードが64053KBで,最初はSDカードにインストールしてうまくいかず,本体にインストールし直しましたが変わりませんでした.Preparing ...のままスクリーンセーバーになってしまうのですが,やはり,datebook.xmlが大きすぎるのかな...
今のコードでは全部のデータを一気にメモリに読んで変換するようになっているため、途中でメモリ不足になるのかもしれません。
出力する開始日を指定できたり、完了したToDoは出力しないようにしたり、といったオプションを設ければ、とりあえず解決しそうですね。もうかなり画面がゴチャゴチャしてきたので、設定ダイアログを別に表示しないといけないですが…。
根本的には、一気にメモリに読み込まないようにすればいいんですが、どうしたものかちょっと踏ん切りがつかないでいます。
Posted by: noir on 2004年02月26日 21:17とりあえず、
http://noir.s7.xrea.com/pub/zaurus/zical_0.1.3.1_arm.ipk
http://noir.s7.xrea.com/pub/zaurus/zical-0.1.3.1-src.tar.gz
A300限定ですが、~/Settings/zical.conf を適当なエディタで編集して
sinceDate = 20040201
という行を加えておくと、2004年2月1日以降の項目を出力します (繰り返し項目とToDoは全部)。
これをお試しください。
Posted by: noir on 2004年02月26日 22:17はじめまして
最近ZiCalを使い始めまして便利に使っています。
ただ,iCalと同期を取っている別の機器が時間帯を
みているようで時間がずれてしまいます。
時間帯を指定する方法はあるのでしょうか?
ebiさん、ありがとうございます。
現状のコードでは、ザウルスで設定されているローカル時刻のまま出力し、これにタイムゾーンの属性を付けていないため、たまたまMacのタイムゾーンと一致しているときにのみ正しい時刻になる、という問題をかかえています。
UTCに変換してしまうよりはローカル時刻でデータを扱ったほうがテストやデバッグが楽なのでそうしていたんですが、タイムゾーンの属性をつけていなかったのは落ち度でした。簡単なことなのに。
週末に手直ししてみますので、しばらくお待ちください。
Posted by: noir on 2004年04月14日 20:27お久しぶりです。TOMOです。
ところでデータをカードに保存するため、未だにターミナルで
コマンドを手打ちしているのですが
>直接ZiCalでもファイル保存できるようにしたほうがよいでしょうか?
この計画はどうなっていますか?ぜひ実装していただきたいのですが…。
勝手なことばかり申しますが、ぜひよろしくお願いします。。。
お久しぶりです。TOMOです。
ところでデータをカードに保存するため、未だにターミナルで
コマンドを手打ちしているのですが
>直接ZiCalでもファイル保存できるようにしたほうがよいでしょうか?
この計画はどうなっていますか?ぜひ実装していただきたいのですが…。
勝手なことばかり申しますが、ぜひよろしくお願いします。。。
TOMOさん、こんにちは。
バージョン 0.1.2 でファイル保存するようにしましたが、説明がコメントのなかに埋もれてしまっていたようで、すみません。
デフォルトでは本体の $HOME/Documents/text/calendar/zaurus.ics
に保存するようになっているので、これを別のところに変更するには、エディタで $HOME/Settings/zical.conf を開いて、
saveFileName = 保存先のファイル名
を指定してください。
このへんもきちんとユーザーインターフェイスを作るつもりでしたが、ザウルス → iCalendar 変換の部分を書き直しはじめたらハマってしまって、なかなか公開できずにいます。
Posted by: noir on 2004年05月01日 08:33ZiCalには大変お世話になっております。ZiCalに落ち度はないと思うのですが、突然ネットワークポート(en2)として認識されなくなりました。認識されなくなった代わりにSDメモリーがストレージとして認識されるようになりました。しかも、デスクトップに10個も"NO NAME"というリムーバブルディスクとしてマウントされます。原因不明ですがどなたか同様の症状に陥った方、いらっしゃいませんか?ちなみに10.3.3です。今はSDにデータを書き出すことで対処しております。
Posted by: blue on 2004年05月26日 16:52blueさん、こんにちは。
私もMac OS X 10.3.3、iCalは1.5.2 ですが、A300では大丈夫です。
C760が今手元にないので確かめていないのですが、たしかMac
のほうのシステム環境設定でIPアドレスを手動で設定しないと、
ネットワークインターフェイスを認識してくれなかったように
覚えています。
デスクトップにリムーバブルディスクとして認識されるということは、
ひょっとしてC860の「USBストレージ方式対応」というのが、
Mac OS Xの側でも標準でサポートされたということなんでしょうか。
さっそくのお返事ありがとうございます。C860固有の問題かも知れませんね。SDにファイルを生成できるおかげで使うことができますので、ありがたいです。できれば、GUIで保存先を変更できるといいですね。コメントアウトするのわすれて、デフォルトにもどせなくなっちゃいました(笑)
Posted by: blue on 2004年05月27日 08:33すみません。GUIでの保存先設定はいずれそのうち…。
Posted by: noir on 2004年05月30日 17:40GUI保存先の件、そろそろいかがでしょうか…
Posted by: Anonymous on 2004年06月18日 17:59あまり期待しないでお待ちください…。今作成途中で止まっているのは、保存先のフルパスを直に書くだけというものなので……。ダイアログで保存先を選べるほうがいいですよね。
Posted by: noir on 2004年06月20日 12:40お世話になっております.携帯Sync plusというソフトウェアを買ってから,ザウルスのスケジュールをzical+ical経由で携帯電話に移したくてウズウズしている者です.以前のタイムゾーンの問題で,携帯電話でのスケジュールは9時間ずれてしまいます.そろそろいかがでしょう… 厚かましいお願いとは思いますが(_O_)
Posted by: wahaha on 2004年06月21日 19:02wahahaさん、タイムゾーン対応もすっかり遅れてしまいました。
すみません。
まだちゃんと試していませんが、これでいかがでしょうか。
http://noir.s7.xrea.com/pub/zaurus/zical_0.1.3.2_arm.ipk
http://noir.s7.xrea.com/pub/zaurus/zical-0.1.3.2-src.tar.gz
さっそくありがとうございます.完璧です.より一層ザウルスがかけがえのないものになりました.
欲を言えばキリがないのですが,現在 zicalで生成された *.ics や,zdbat で取り出したデータをネット経由でホストにコピーして加工している関係上,zical 自体がコマンドラインで動いてくれるとスクリプトで書けて無手順になって大変うれしいのですが,是非ご検討下さい(^^
貴重なご意見ありがとうございます。
コマンドラインで動かす場合ですが、zaurus.ics を書き出して終了するだけでいいでしょうか。それともサーバ機能も必要でしょうか。
とりあえず、コマンドラインで zical -b として起動すると、ウィンドウを表示せずに zaurus.ics を書き出して終了するようにしてみました。
http://noir.s7.xrea.com/pub/zaurus/zical_0.1.3.3_arm.ipk
http://noir.s7.xrea.com/pub/zaurus/zical-0.1.3.3-src.tar.gz
バージョン 0.2 を公開しました。
http://noir.s7.xrea.com/archives/000079.html
Posted by: noir on 2004年07月06日 17:36サイン・インを確認しました、 さん。コメントしてください。 (サイン・アウト)
(いままで、ここでコメントしたとがないときは、コメントを表示する前にこのウェブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)