2009-07-30

qi.LiveChat を試してみました (Plone)

Ploneも、buildoutな環境にもようやく慣れてきた気がします。


最初はやりかたが良く判らなくて、『何それ?』な状態でしたが、設定ファイルに追加したいプロダクトを記載さえしておけば良いので、以前のように自分でソースをダウンロードし、Products/ 以下に配置してZOPEの再起動....という手間が省けるようになりました。

また、何よりサーバを起動する前にプロダクトのビルドがうまくいくか確認できますし、先にビルドされる分、起動も早くなっているようです。

* * * * *



さて、本日は、『何か楽しいものも入れよう!』と思い、いろいろとCMS Infoを眺めておりました。そこで目にとまったのが、Chat用プロダクト。

メッセージのやり取りには、色々なIMもありますし、いまさらChatなんて...とも思ったりしました。でも、ブラウザだけで済むのと、外部のWebサービスを利用しなくても済むことが良さそうだったので、qi.LiveChatというプロダクトを追加してみることにしました。

buildout.cfgへの設定は、このような感じです。(eggs, zcmlにプロダクト名を追加)



# If you want Zope to know about any additional eggs, list them here.

# e.g. eggs = ${buildout:eggs} my.package

eggs =
${buildout:eggs}

qi.LiveChat



# If you want to register ZCML slugs for any packages, list them here.

# e.g. zcml = my.package my.other.package

zcml =

${buildout:zcml}

qi.LiveChat



# For Chat

[scripts]

recipe = zc.recipe.egg

eggs = qi.LiveChat

インストールは、bin/buildout -n でつつがなく終了。

また、チャット用のサーバプログラム(XML-RPC)がプロダクトに付属しているので、外部のサービスなどを使わずともすぐにサービスが開始できます。 以下のとおりコマンドを実行すると、デフォルトで8000番でチャット用サーバが起動します。

% python /usr/local/Plone/buildout-cache/eggs/qi.LiveChat-0.21-py2.4.egg/qi/LiveChat/server/xmlrpcServer.py

スクリーンショットは、こんな感じです。
フォームからメッセージを入力すると、Ajax通信でサーバにPOSTされます。また、サーバからのデータは、デフォルトで20秒間隔でGETし、Ajax.Updateさせて画面を更新しています。

メッセージ用のサーバは、localhost:8000 (ZOPEのインスタンスと同じホスト)でプログラムの中で決めうちになっています。

Ploneの管理画面やChatコンテンツの編集画面で変更できれば良いのですが、Ajax利用のため、少なくともlocalhost固定になっているのは仕方がなさそうです。

でも、できればPortくらいは任意で切り替えられると嬉しいな、と思います。


* * * * *


※お約束の、本日のトラブル(?)


Ajaxを使ってデータをPOSTしているんですが、私のWindowsの環境だと、エンターキー押すだけでPOSTされちゃいます。メッセージの途中で漢字変換を行い、変換を確定させると、それがPOST用のイベントだと判断されてしまいました。

メッセージが切れ切れになっちゃうので、これだと嬉しくないですね。上記の点に加え、プロダクトの日本語化は未だなので、うまく動くように修正して使ってみようと思います。

0 件のコメント:

コメントを投稿