CLIE活用をまずは簡単なところから。
会社に提出している日報(毎時の作業記録)の項目を、CLIEの予定表(Date Book / DateBk5)に入力しておいて、Excelシートに自動的に書き込むところまで自動化したいな。
デバイスからの読み込みはJ-Pilotに任せて、同期したPDBを処理するようにするか。
p5-Palm を使うと
#!/usr/bin/perl -w use strict; use Palm::PDB; use Palm::Datebook; use Jcode; my $pdb = new Palm::PDB; $pdb->Load("$ENV{HOME}/.jpilot/DatebookDB.pdb") || die $!; for my $record (@{$pdb->{records}}) { printf("%4d-%02d-%02d %02d:%02d %s\n", $record->{year}, $record->{month}, $record->{day}, $record->{start_hour}, $record->{start_minute}, Jcode::convert($record->{description}, 'euc', 'sjis')); }
などと簡単に読み出せるので、ちょちょっとスクリプトを書けばいけそうだ。
「予定表に適当にマークアップしたアポイントメントデータを抽出して、ガントチャート表示する Palmware でも作ってみるか。」という案だが、まずは Perl + p5-Palm + GD あたりでPC上でやってみて仕様を考えようかなと。
タスクについてだが「予定の繰り返し設定」で表現すると毎日表示されてウルサイので、「開始・終了のどちらかから、DateBk5のリンク機能で他方にリンク」するで表現してみようかと。
でやってみる。予定からTo Doなどへは問題なくリンクできるのだが、肝心の予定から予定へのリンクを行うと、
Emul68KCommon.c, Line:1594, Index out of range
でソフトリセットしなければならなくなる。 うーん、おかしいなぁ。DateBk5 をアップデートしてみたが駄目。
といろいろ調べた結果、PsLink (0.4)を無効にするときちんとリンクがはれるようになった。 PsLink も活用したいだけに残念。 どうするか。
J-Pilot だと conduit が簡単に書けないので、Perl で作れるようにできている ColdSync を使うようにしてみる。
sid (Debian GNU/Linux) の coldsync 3.0+pre3-1 だと PEG-TJ25 と赤外線で HotSync する際にエラーが起きてソフトリセットしなければならなくなる。 公式サイトより新しい deb (coldsync_3.0.pre4.cvs20040225-1_i386.deb) を取ってきていれたらきちんと同期できるようになった。
後は ColdSync Perl モジュールと p5-Palm を使えば簡単に conduit が書けるはず (本当は Palm 側で対象データを赤外線送信すると、Linux 側で待ち受けているプログラムがこれを受け取って処理をするようにしたいのだがやり方があるのか不明)。
2005年10月6日現在も Debian GNU/Linux sid 3.0.pre4.cvs20040225-1 は駄目。「セグメンテーション違反です」
公式サイトの coldsync_3.0.pre4.cvs20040225-1_i386.deb を入れたらうまく動いた。
(2005年10月6日追記)
Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。
※本サイトの内容は個人的見解であり所属組織とは関係ありません。