Last Modified at 2014/09/21 00:51:00 JST
Now, it is 2024/11/22 08:32:09 JST

webx.plm - Ajaxed web-UI module for plum (IRC gateway)

0. お知らせ

 webx.plm ver.0.80 を公開します。

1. webx.plm って何?

 plum に標準添付されている Web による IRC を可能にするモジュール web.plm を Ajax 化するとどうなるか、という試験的取り組みによって作られたモジュールです。 一番肝心な部分が Ajax になっていないなど、不完全な部分が多々ありますが、雰囲気だけでも掴んでいただければ幸いです。 plum 本体が十分高速なマシンで動いていて、ブラウザが立ち上がっているマシンとの間が十分な帯域で接続されていれば、IRC専用クライアントまではいかないまでも、それなりには使えるのではないかと思っています。

2. ダウンロード

 ドキュメントは特に添付していませんので、webx.plm の最後の方の HTML 部分の記述(本当は html としてブラウザに表示できるはずだったのですが、ヒヤドキュメント使ったせい(多分)でソース(の一部)が見えてしまいます(汗;))や、本ページをご参照ください。

3. 必要な環境

 plum 2.33.1 で動作確認しています。3.x での動作は未確認です。 クライアントのブラウザは、Windows 2000/XP の IE 6.0 / Firefox 1.5 / Opera 9 で大まかに確認しています。 W-ZERO3 の Opera Mobile 8.5 でも概ね動くようです。 Netscape 7.02(MacOS 8.6 on PowerMac7100/66AV) でも概ね動きました(汗;)(ダイヤログの日本語が化けてしまいましたが)。 ブラウザ依存の部分の判定は厳密ではないので、機能(の一部)については動かない部分があるかも知れません。 ブラウザは JavaScript が使える設定になっている必要があります。

4. 設定方法

 module/sys/ の下(つまり web.plm の置いてあるディレクトリ)に webx.plm を置いてください。 あとは、plum.conf (相当)のファイルに webx.plm が有効になるように設定を追記してください。 webx.plm の最後の方が HTML になっているので、参考になるかと思います。 既存の web.plmrecent.plm の設定方法も参考になると思います。 取り急ぎは、

+ sys/webx.plm
sys.webx.client: *:8000 id:password
を設定して、ブラウザで plum の動いているマシンの IP の 8000 番ポートを狙ってみてください(他の用途で 8000 番ポートを使用中の場合は、他の空いているポート番号を指定してみてください)。 認証画面が出てくるので、id と password で設定した文字列を入力します。

5. 使用方法

 若干画面構成は異なりますが、web.plm と同じような感覚で使えるのではないかと思います。 左上がカレントチャネルのログ、右上がカレントチャネルに入っているメンバーの nick 一覧、カレントチャネルの下が全チャネルのログ、右下がチャネル一覧、一番下が発言等の各種入力欄です。 sys.webx.refresh で設定した秒数毎に自動的に画面が更新されます。 Nick を変更した際や、チャネルトピックを変更した際にも画面に更新が掛かります(このあたりが Ajax 使っています。単なる meta refresh とは違うわけです)。 発言が画面に反映されるまでに数秒かかります(ローカルエコーしない)ので、じっくりお待ちください。 画面が再描画されたのに自分の発言が表示されなかった場合は、sys.webx.delay の値を長めに調節すると、うまくいくかも知れません。

 ACCESSKEY に対応しているので、Windows の IE/Firefox の場合は

入力機能
ALT+jjoin
ALT+ppart
ALT+ttopic
ALT+nnick
ALT+kkick
ALT+mmode
ALT+iinvite
ALT+fwhois
ALT+11番目のチャネル(*PRIVATE*)
ALT+22番目のチャネル
ALT+33番目のチャネル
ALT+44番目のチャネル
ALT+55番目のチャネル
ALT+66番目のチャネル
ALT+77番目のチャネル
ALT+88番目のチャネル
ALT+99番目のチャネル

で入力ダイヤログが開きます。Mac の場合は ALT キーの代わりに Control キーを使ってください(ブラウザによって多少違いがあるようです)。

6. ソースについて

 オリジナルの sys/web.plm をベースに Ajax 化の改造を加え、途中から log/recent.plm を部分的に組み込む形で作っています。 オリジナルの中身をあまり理解していないので(汗;)、Perl 部分についてはエンバグを避ける意味も含めて、極力オリジナルソースを活かすように記述しています。 そのせいもあって、かなりコードに冗長な部分があります。 まだあちこち中途半端なコメントアウト行があったり、作りかけ感満載です(苦笑)。 あとからあとから思いつきで機能を継ぎ足していったので、非常に分かりにくくなってしまいました。

7. webx.plm の配布・改変等について

 オリジナルの plum / web.plm / recent.plm の扱いに準ずるものとします。 もっとも、webx.plm を改変するよりは、最初からしっかり設計し直してスクラッチから書き直した方が良いものができると思います。

8. 既知の問題について

 webx.plm を使って実際にブラウザで IRC をやっていると、plum の使用メモリ容量が増大していきます(汗;)。きっとどこかに問題があるのでしょうが……(分かる方、教えてください)

9. 今後について

 以下の TODO は実行されない/できない場合があります(苦笑)。

10. 謝辞

 以下のサイト/ソース/ドキュメント等を参考/使用/流用/改造させていただいております。 著者の皆様方に感謝いたします。 不都合等ございましたら、ご連絡ください。

11. その他

 最初はテスト用のチャネル等で発言してみるなど、動作確認してからお使いいただくのが宜しいかと思います。 webx.plm は無保証です。 また、sys.webx.refresh の設定値によっては、激しい(?) http アクセスを伴います。 plum が設置されているサーバ/ネットワークの負荷や、http アクセスのログがどこに残るのか :-) 等にもご配慮の上、ご利用ください。

12. 改変履歴

Ver.0.80 (2006/07/16)
Ver.0.79 (2005/12/19)
Ver.0.78 (2005/12/16)
Ver.0.77 (2005/11/28)
Ver.0.76 (2005/11/26)
Ver.0.75 (2005/11/10)
それ以前

13. 連絡先

 バグ報告その他要望等は下記までどうぞ。ただし、必ず対応できるかどうかはお約束しかねます(苦笑)。


[Back] ArctanX's Softwareに戻る
[Exit] ArctanX のホームページに戻る
Copyright © 2005-2014 ArctanX <arctanx@hauN.org>