2005年05月22日

鍋復活

とりあえず、鍋チャット復活。

いろいろ高機能にしようかとも思ったけど、まぁ、とりあえずシンプルに…

ベースに使ったMintBBSは、開発中のSkin方式のBBS。
フォーム項目設定を減らして、オートリロードする皮を被せただけです(ぉ
小物作るには便利。

ひさしぶりに高速でがんがん飛ばしたら、ハンドルが踊って怖かったよ…

投稿者 kaho : 02:08 | コメント (0)

2005年03月16日

"攻城速報@ろらじお" v1.16

久しぶりに、ゆっくり休める時間が取れたので、弄りました…
というか、直しました(汗

< を含むG名が反映されないと言う事で調べて調べて…
ログインしてないし、とりあえず模擬ログを作って食わせてみると、確かに飛ぶ。

ぱっと理由が思い付かなかったので、デバッグ出力させて調べまくり(笑

356行目以降の


$tmp =~ /^砦 \[(\w).+?(\d)\].+?\[(.+)\] /;
my $sec = (($ltm[0] - 20) * 60 + $ltm[1] ) * 60 + $ltm[2];
my $gnm = $3;
$gnm =~ s/</&lt;/gi;
push (@{$fort{"$1$2"}}, ({sec=>$sec, time=>$time, name=>$gnm}));

ここらへんに原因があるのは最初から分かっているものの、何ゆえバグるのか分からない。

ずーーっと、「値」の方にバグがあると思っていたものの…


$gnm =~ s/</&lt;/gi;

ここで、< を見つけた時に"のみ"正規表現の後方参照が初期化されて、$1と$2がクリアされるので、

push (@{$fort{"$1$2"}}, ({sec=>$sec, time=>$time, name=>$gnm}));

で、$fort{"$1$2"} が $fort{""} と解釈されるため、挿入すべき砦番号が分からずに闇に消えていると…

ぉぉぅ(汗
そりゃそうだ…正規表現の後で、再度正規表現使ったら、そうなるわね・・・
$1$2が後方参照の値って、忘れてたーよ…
ダメダメでした。

投稿者 kaho : 16:15 | コメント (0)

2005年02月11日

SunbirdとiCalendar

微妙にタイトル変更。

軽く使ってみた、Sunbirdの使用感。

◆利点
 1)軽い。
 2)シンプル。
 3)予定やタスクを、任意のカレンダーに分けて管理できる。
 4)iCalendar対応。
 5)webDAVで、ネットワークとファイル同期できる。

 (1)は、Mozillaプロジェクトの一環と言う事で、らしい仕上がりにはなっています。
落ちることも特になし。
 (2)は、むしろシンプルすぎという感じ…カレンダーでの予定管理と、タスクワークの管理だけぽい。
 (3)は、「仕事用カレンダー」「私用カレンダー」「グループカレンダー」みたいな感じで分けたカレンダーを、一画面に纏めて表示できるということ。
 これがなかなか優れ物で、カレンダー毎に表示/非表示したり、同じカレンダーファイルを複数人で共有したり、使い方が広がる機能と思う。
 (4)は、MacのiCalと互換で使えるということ。モバイルで使うスケジューラも、対応してたり。
 (5)、ここが一番の肝と思われる。(3)の通り、カレンダーを分離して管理できるので、webDAVに適切なアクセス制御を付ければ、職場で「グループとしての予定」をネットワークから読み込んで、個人の予定を重ねた予定表を使うことが出来る。
個人の予定もwebDAVで扱えば、予定を集中して管理することが簡単に出来る。
 ただし、同期のタイミングは、「起動時」と「予定表に変更を加えた場合」、「手動で再読み込みした時」だけなので、同じカレンダーを他人が変更した場合にはリアルタイムに知ることが出来ない。
非常に惜しい… 数分毎に読み込む機能とかがあればいいのに。
 また、webDAVでカレンダーを扱う場合、手順が二つあり、“[新しいカレンダー]を作る際にロケーションにicsファイルのURIを指定する”のと、“[別のカレンダーを購読]として、ロケーションにicsファイルのURIを指定する”のがある。
前者では、変更を加えるのはSunbirdからのみの前提で、Sunbird上で変更を加えたときにのみwebDAVにicsファイルが送られる。
後者では、icsファイルを共有する前提で、起動時や手動での再読み込みが可能になる。
カレンダーファイルの共有を考える際は、[別のカレンダーを購読]でカレンダーを読み込ませるようにしよう。

後、確認したところ、予定を書き換えた後の同期の動作は、まずGETをしてリモートファイルの変更を認識してから、書き加えた変更をPUTして送るので、お互いの変更でカレンダーファイルが巻き戻ったりすることは簡単には起きないようだ。

◆問題点
 1)機能が少ない。
 2)グループウェアとしては不満。
 3)メーラーとの連携が出来ない。

 (1)は、シンプルさの裏返しとも言えるが、とにかく基本機能しかない。
メモ機能などは欲しいところだ。
 (2)は、Outlookにあるような他人の予定を確認して擦り合わせたり、他人に予定を通知したりするための機能がない。
 せっかくwebDAVでカレンダーファイルを共有管理できるだけに、惜しい。
 (3)は、mozillaのcalendar付きビルドなどでは利用できるっぽいが、Sunbird単体ではメール関連の機能は現在使えないようだ。
 メール通知が出来ないのはかなり痛いので、早く実装されるといいなぁ。

昨日作った祝祭日ファイル、微妙に間違いを発見したので修正して再Up。
2002-2015年まで対応したつもり。
まぁ、10年先の予定なんか、誰が入れるんだと思うが。
日本祝祭日iCalendarファイル(2002-2015)

PHP iCalendar、デザインとかいい感じなんだけど、読み込み専用なんだよなぁ。
どうせなら携帯(i-mode)でも使いたいし。

ちょこちょこ調べてみると、携帯で使えるWebベーススケジューラに、Tasksというものを発見。
iCalendarのファイルも吐けるっぽいので試験導入してみるも…
うーん、Webベースでの管理が基本で、Sunbirdからは読み込みしか出来ない。
タスク管理がメインで、イベント管理が出来ない。
予定表が1グループしかないので、切り分けが出来ない。
残念ながら、私が欲しいものとは違うようだ。

次は、phpMyCalを試して見ようと思うが…
なんか、すごい導入がだるそう…

投稿者 kaho : 16:18 | コメント (0)

2005年02月10日

SunbirdとPHPicalendar

Mozillaプロジェクトのスケジュール管理プログラム:Sunbird 0.2の公式リリースになったと言う事で、試用してみる。

うーん、デフォルトだと、英語表示でストレスが溜まる(笑
(UIが英語なだけで、標準状態で日本語タイトルの予定とかは作れる)
っという事で、日本語UIにする方法を調べてみると、こちらで発見。
何も付け加えないで設定を弄るだけでも日本語UIにはなるが、日本語言語パックを公開してくださってるので、そちらを適用してみる。
ぉおおお、ばっちりですよ!
UIの日本語化以外にも、日本語での印刷にも修正が加わっている模様。

後、休日設定も日本用にカスタマイズが必要と言う事で、Apple カレンダーライブラリをみると、ばっちり日本語!
…と見せかけて、ハッピーマンデーに対応してないのね…
Mozillaの休日設定ファイルは、英語だからなぁ
っという事で、上記二つを参考にして、自分で作ってみました。
日本祝祭日iCalendarファイル(-2010)。
リンクを右クリックして保存するべし。(UTF-8なのでブラウザで見たら多分化ける
間違いがあれば指摘してください。
それ以外の更新はありません、多分。

導入は、[ファイル]→[新しいカレンダー]として、DLしたファイルを食わせてあげてください。

が、Sunbirdだけでは、PCの前に座ってないと予定が分からない罠。
というか、Sunbird、タスクトレイに片付いてくれたりする機能がないっぽい…
起動してないとアラームが役立たずだし、起動してるぐらいなら予定忘れるわけもなく…
というか、PC起動してない時でも、携帯に予定お知らせメールを飛ばしたりしたいなぁ。

ということで、Webとの連携を考える。

Sunbirdには、WebdavまたはFTPでオンライン上に iCalendar形式のカレンダー情報を公開する機能がある。
FTPなら簡単だなぁ…と思い、Sunbirdで[ツール]→[オプション]→[公開]で、ftp://xxx.aaa.jp/cal/cal.ics って感じで設定してみる。
カレンダー集のタブで、使っているカレンダーを公開してみると…
むー…反映されていない。

公式のFAQみると、「Calendar のイベントは、FTP サーバか、 webDAV に対応したサーバで公開できます。」と書いてるが、その数行下に「カレンダーを共有するには、webDAV サーバを使います。」と、FTPの存在は忘れられぎみらしい(ぉ
っと言う事で、webDAVを導入してみる。

Apache2では、標準でwebDAVはインストールされているので、サーバーのhttpd.confを弄り、
----------------------------------------
<Location /dav>
DAV on
AllowOverride None
Options None
AuthUserFile /home/xxx/xxx/.htpasswd
AuthGroupFile /dev/null
AuthName "User's Folder"
AuthType Basic
require valid-user
</Location>
DAVLockDB /var/apache2/DAVLock
------------------------------------------
こんな感じで設定を入れる。
申し訳程度のセキュリティに、Basic認証を使用。
AuthUserFile は、Basic認証用に作った物を任意のPathに置いて指定。
上の設定では、ドキュメントルートの下のdavディレクトリにファイルがUploadされる。
Sunbirdからカレンダーファイルを送ってみると、認証が出た後、ちゃんとアップロード完了。

次は、PHP icalendarを導入。

疲れたので続く…

投稿者 kaho : 22:50 | コメント (2)