palmhis-sync の使い方
引っ越してきました。内容は前のままです。 当分このツールを update することはないと思いますが (私個人は、このページにある ver. からわずかな改良を行ったうえで 使い続けてます)、 お役に立てるようならご自由にお使いください。(01/Jun/04)
後日、このページの体裁だけちょっと手を付けるかもしれませんが。
機能 ↑
Palm の予定表と秘書君2の予定データの sync を行う
- Palm 側は DateBK3 のプロパティを保持できます.
- 秘書君側は最新版に対応しています.
注意 ↑
基本的にまだほかの方に使っていただく形にはなっていません. そんなわけで環境依存だったりなんだったりな部分が死ぬほどあると思いますが この機能が必要な方で、幸運にも動く環境な方が一人でもいれば、ということで. 私が「どうしても必要で」作っちまったものなので 誰かもう一人ぐらいは必要な方がいるとはおもいますが…
あと、使われる方の貴重なデータが飛んでしまっても責任はもてませんので at your own risk でお願いします.あ、一応うちでは動いてますよ.当然ですが.
なにかあったら(対応できるかわかりませんが) mat{at}intheflight.net までメールしてください. こういう software のドキュメントも書いたことがないので 足りない情報が山のようにあるとは思いますが、ご容赦を.
現時点での制約や問題点 ↑
- メモに SID が入るので,メモの最後の行は消さないこと
- 消してもいいですが,秘書君上での該当レコードとの関連が破棄されて新規レコードとして扱われます
- SIDの表示位置を考え直したい…>野中さんとお話して,秘書君のほうは何とかなりそう,というか実装済み.でもまだ今までのデータとの関連性を保ったまま update する script が出来てないので… up はできないです.
- 消してもいいですが,秘書君上での該当レコードとの関連が破棄されて新規レコードとして扱われます
- 予定を消すルーチンが未実装なので予定を消さないこと>そのうち直します
- 定期的な予定は(現時点では)無視されます.>めど立ったので気が向いたら実装します.テスト環境では動いた.でも現時点では,
- 秘書君側の定期的な予定は別の予定ファイルに入れること
- palm 側は定期的な予定を作らないこと
- 振り替えとかそういうプロパティは,秘書君で書いたものは秘書君上, palm で書いたものは palm 上でしか作動しないので注意すること(それぞれのデバイス上では保持されます)
必要環境 ↑
かなりマニアックな環境を要求します.お許しを.
- 基本
- Palm を持っている
- 秘書君2を使っている
- 必要な環境(全部 free/free software です)
- Perl(http://www.activestate.com/)
- Perl の p5-palm モジュール最新版(http://www.coldsync.org/ または http://search.cpan.org/dist/p5-Palm/)
- pilot-xfer win32 (http://www.5star-shareware.com/Palm/Utilities/pilotxfer.html)
※たぶん coldsync でもいいはずですが,使っていないので分かりません.fastsync なんかを見るとこっちのほうがよさそうな気も…ただ,win で使ってるって方を見かけないんですよね.まぁ win には palm desktop があるんで当たり前といえば当たり前ですが.う〜,そう考えると本当は hotsync の conduit を書くのが王道のように思えますな.
こっちの環境構築についてはまた別ページ(palmhis-sync のための環境構築)で説明します.
ちなみに私の環境はこんな感じです.
- 秘書君2 Version 2.19.1091
- PDA: Palm m100
- OS: WinXP SP1
- Perl: ActivePerl 5.8.0.805
- p5-palm 1.3.0
- pilot-xfer v1.0 via IrComm2k-eng
- PDA側スケジューラ: dateBK3(標準の予定表互換)
ダウンロード/同梱物 ↑
ダウンロードはこちらから.
- readme.txt
- この html (テキスト形式):
- palmhis-sync.pl
- スクリプト本体:
- DatebookDB.pdb.blank
- 空の DatebookDB.pdb (作業用):
- palmhis.mid.txt
- 空の中間データファイル(作業用):
インストール ↑
展開して出てきたものを適当なディレクトリに放り込むだけです.
設定 ↑
palmhis-sync 側 ↑
palmhis-sync.pl 本体の頭の部分を直接書き換えます.
$PDBFilePath = "./DatebookDB.pdb"; # .pdbファイルのパス $PDBBlankFilePath = "./DatebookDB.pdb.blank"; # 書き込み用ファイル $HISFilePath = 'C:\Program Files\scheduler\user\palm.his'; # .hisファイルのパス $MIDFilePath = "./palmhis.mid.txt"; # 中間形式ファイルのパス $TmpMIDFilePath = "./palmhis.tmpmid.txt"; # 中間形式ファイルのパス(tmp) $BACKMIDFilePath = "./deleted.mid.txt"; # 消去レコード用の中間形式ファイルのパス(未実装)
のうちの $HISFilePath を自分の秘書君の予定ファイルのpathに書き換えてください.
秘書君側 ↑
今までのデータを全部 palm に移したい場合
そのまま上記 $HISFilePath に現在使用している予定表ファイルを設定してください.一回目の sync 時に勝手に palm 側にインポートします.
今までの秘書君の予定は今までのものとして放っときたい場合
まず新しい予定ファイルを秘書君で作ります.各種設定変更>その他設定1>予定のデータファイル設定>追加(適当な名前のカテゴリとファイル名でかまいません).で、秘書君のインストール dir を見ると上記の名前のついた ○○.his というファイルができるはずです.こいつを $HISFilePath に設定します.
使い方 ↑
※ pilot-xfer に path が通っていると仮定します.COM ポートは適宜読み替えてください.
ちなみにこれを行うと(プログラムからの見た目はそのままですが) hoge.his と palm 内の DatebookDB.pdb を「完全に」書き換えます.それぞれ何らかの方法でバックアップをとっておくことを強くお奨めします.
- palmhis-sync.pl のあるディレクトリに移動
- palm から予定表ファイルのみを fetch します.
$ pilot-xfer.exe COM4 -f DatebookDB
- palmhis-sync.pl を起動(適当なログファイルに標準出力を吐いておくと,スクリプトがなにをやったかわかるようになっています.)
$ perl palmhis-sync.pl > synclog.txt
- palm へ予定表ファイルのみを install します.
$ pilot-xfer.exe COM4 -i DatebookDB.pdb
以上で秘書君と palm の sync が出来ました.
※見て分かるように,現時点ではわざわざ pilot-xfer を2回行う必要があります.かっちょ悪い仕様ですが,ご容赦を.また,このときに全ファイルの sync を行うと(特に私のところは赤外線 sync なので)むちゃくちゃ時間掛かります.ので,ここでは palm からは予定表のファイルだけを取り出しています.ほかのファイルは適宜バックアップしてください.
# document 書くのってほんとだるいですね… software 開発者さんの苦労がしのばれます.
- float な予定がごっちゃに入ってしまう( dateBK3 依存部分)>アイコンは変わるようにしたんだけど…(未 up )
- pilot-xfer って USB いけないんだっけ?だったら最近の機種は全滅だな…