info freako's factory [p i n o] [hichat] [INDEX]

「 h i c h a t 」
info freako's HIgh performance chat ver 2.0
  1. 概要
  2. 動作サンプル
  3. 利用規約
  4. ダウンロード
  5. インストールの手引き
  6. カスタマイズの手引き
  7. ファイル一覧
  8. ディレクトリ構成
  9. 更新履歴

【概要】
info freako's HIgh performance chat「 h i c h a t 」は、Perlで記述された、HTMLベースで動作する高速・軽快なチャットスクリプトです。

【動作サンプル】
こちらになります

【利用規約】
「h i c h a t」はフリーウェアです。ご利用にあたっては以下の条項を遵守して下さい。
  1. このスクリプトに関する全ての著作権は作者に属します。
  2. このスクリプトを使用した結果生じたいかなる損害についても作者は責任を負いません。また、不具合や仕様の不備があったとしても、作者はそれを修正する責任を負いません。
  3. 原則としてメール等による個別のユーザサポートは行っておりません。
  4. 有料・無料・改変の有無を問わず、作者へ許可なく再配布あるいはレンタルを行なうことは出来ません。
  5. スクリプトの改変は作者へ許可なく自由に行って頂いて構いません。ただし、フッタに記載されている著作表示及び「info freako」へのリンク表示を改竄あるいは削除することは禁止します。表現を変更することは(大きさや表示位置等)構いません。
  6. これらの条項は事前の通告なく変更・削除等される場合があります。

【ダウンロード】
EMAILアドレスを入力して、「download」ボタンを押して下さい。
EMAILアドレスは必須ではありませんが、なるべく入力するようにしてください。改訂やバグ報告等のアナウンスも届きます。
また、もし実際に設置されましたら、その旨を webmaster@infofreako.com の方までご一報頂ければ幸いです。
EMAIL:

【インストールの手引き】
ファイルを解凍したら、まずファイル一覧を参照し、ファイルが揃っているかを確かめて下さい。その後、ディレクトリ構成を参考にしながら、以下の手順に従ってアップロードして下さい。
  1. CGI実行可能なディレクトリの下に、適当な名前のディレクトリを作り、パーミッションを755に設定する
  2. 1.のディレクトリの下に、「data」という名前のディレクトリを作り、パーミッションを777に設定する
  3. 「index.cgi」「hichat.cgi」の1行目の「#!/usr/local/bin/perl」を、それぞれのサーバの設定に変更する。大抵のサーバではこのままで大丈夫だと思いますが、必ず確認して下さい。
  4. ファイルを全て1.のディレクトリにアップロードする
  5. 「index.cgi」「hichat.cgi」の2つのファイルのパーミッションを755に設定する
これで動きます。

【カスタマイズの手引き】
カスタマイズの具体的な方法をいろいろ載せました。これらを参考に、ご自分のサイトに合わせてカスタマイズして下さい。
  1. カスタマイズにあたっての基本的な注意
  2. 背景に画像を貼ったり文字の色を変えたりしたい
  3. ログの行数を変えたい
  4. 自動リロードの間隔を変えたい
  5. 自動退室までの時間を変えたい
  6. ウィンドウに表示されるタイトルを変えたい
  7. 発言していない人の名前の色がだんだん変わっていくが、その色を変えたい
  8. 発言窓の方に、タイトル画像などを入れたい
  9. ログファイルの見かけを変更したい
  10. 発言に使用できるタグを変更したい
  11. 入室ページを変更したい
  12. 過去ログを残したい

  1. カスタマイズにあたっての基本的な注意

    カスタマイズをするにあたって、前提条件として気を付けなければいけないことがいくつかあります。

    1. UNIXサーバの場合は、改行コードを「LF」にする

      行末の改行コードは、Windowsでは「CRLF」、Macintoshでは「CR」ですが、大抵のWEBサーバが稼動しているUNIX上では「LF」です。このため、カスタマイズしてファイルをセーブした時に改行コードが変わってしまうと、行末の検出等の処理を行っている部分でエラーになる可能性があります。秀丸等、改行コードを設定できるエディタを用いて、必ず改行コードが「LF」になるよう気を付けて下さい。また、大抵のFTPソフトでは転送モードに「ASCIIモード」を指定することで自動的に改行コードを変換してくれます。


  2. 背景に画像を貼ったり文字の色を変えたりしたい

    init.cgiの「HTML Preference」の項に、共通で使うBODYタグが「$TAG_BODY = '<body text="#000000">'」と定義されてます。これがログファイルや入室ページで使われるBODYタグそのものになりますので、普通にHTMLファイルで設定するようにTEXT、LINK等のパラメタの値を変更して下さい。


  3. ログの行数を変えたい

    init.cgiの「HTML Preference」の項の「$MAX_LOG = 40」の値を変更して下さい。ログの行数は、全利用者共通の値となりますので、チャットの利用頻度に合わせて適当な値を設定してください。ただ、あまり多くするとロードが重くなりますのでご注意下さい。最大でも50行以内に抑えておいてください。


  4. 自動リロードの間隔を変えたい

    init.cgiの「HTML Preference」の項の「$REFRESH_RATE = 30」の値を変更して下さい。これもログ行数と同じく全利用者共通の値となりますので、チャットの利用頻度に合わせて適当な値を設定してください。ただ、あまり短くすると、サーバに負担をかけますのでご注意下さい。最低でも20秒以上に設定して下さい。


  5. 自動退室までの時間を変えたい

    init.cgiの「HTML Preference」の項の「$OVERDUE_LIMIT = 1800」の値を変更して下さい。この値は秒単位で指定します。デフォルトの「1800」は、つまり30分です。あまり長くすると「ゴースト」(落ちたけど名前だけ残っている人)がなかなか消えませんのでご注意下さい。


  6. ウィンドウに表示されるタイトルを変えたい

    init.cgiの「HTML Preference」の項の「$TITLE = 'hichat'」を変更して下さい。また、「$COOKIENAME = 'hichat'」で設定されているクッキーの登録名も変えておくほうが良いです。ただし、$COOKIENAMEの方には日本語は使えませんのでご注意下さい。


  7. 発言していない人の名前の色がだんだん変わっていくが、その色を変えたい

    init.cgiの「HTML Preference」の項の「$COL_FROM = '303020'」「$COL_TO = 'f0f0e0'」を変更して下さい。$COL_FROMから$COL_TOに色が変化するようになっています。
    これらの色指定は、RGBを6桁の16進数で記述するHTML方式の表記で行って下さい。ただし、<font>タグの色指定と完全に同等ではありませんのでご注意。つまり、「#ff5555」という具合に先頭に「#」を付けたり「red」といった具合に色名で指定したりといった表記は無効です。あくまで16進数6桁の表記のみが有効です。
    例)赤=「FF0000」 黄色=「FFFF00」等


  8. 発言窓の方に、タイトル画像などを入れたい

    発言窓は、postpage.tmpl.htmlにHTMLとしてそのまま書かれていますので、それを直接変更して下さい。
    その際に注意する点として、
    • 1行目の「$HTML = <<__HTML__ ;」と最終行の「__HTML__」は絶対変更しない。これを変えてしまうと、プログラムが動かなくなります
    • HTMLの中で、「$MAINSCRIPT」という具合に「$」で始まっている単語は、プログラムで置き換える変数ですのでこの名前を変更したり削除したりしない。これも下手に改変を加えてしまうとプログラムが動かなくなる可能性があります
    • <form>タグのパラメタ(name、targetなど)を変更してもシステムが上手く動作しなくなります。位置を移動させる場合でも、パラメタの値が改変されないよう注意して行って下さい
    • 初期状態では、発言用の<textarea>の高さを利用者が変更する度に、フレームの高さを動的に変更しています。タイトル画像等を足すと、自動調整で切られるフレーム高さが足りなくなる可能性があります。その場合には、init.cgiの「HTML Preference」の項の「$NN_MARGIN」「$IE_MARGIN」の値を適当に変更して調節して下さい。
    等がありますのでご留意ください。


  9. ログファイルの見かけを変更したい

    ログファイルはlog.tmpl.htmlをテンプレートとして生成されています。この内容を直接変更すればそれがそのままログファイルに反映されます。
    気を付けるべき点は発言窓の場合と同様
    • 1行目の「$HTML = <<__HTML__ ;」と最終行の「__HTML__」を変更しない
    • 「$」で始まる単語を不用意に変更しない
    という2点です。
    また、ログファイルの末尾には、著作権表示とinfofreakoへのリンクが記述されています。この部分はなるべく改変しないで下さい。雰囲気にそぐわないのでどうしても変えたい、という場合でも、最低限「h i c h a t」の名称の表示とinfofreakoへのリンク部分は必ず残しておいて下さい。例えば「<a href="http://www.infofreako.com/">h i c h a t</a>」などとでもして頂ければ結構です。


  10. 発言に使用できるタグを変更したい

    h i c h a tは初期状態では「A」「FONT」「B」「I」「U」「S」「SUP」「SUB」「BR」「P」「DIV」「PRE」の各HTMLタグが発言の装飾用に使用できるようになっています。
    これに更に使用できるタグを追加したい、あるいは制限したいという場合には、init.cgiの「HTML Preference」の項の「@VALIDTAGS = ('a','font','b','i','u','s','sup','sub','br','p','div','pre') ;」で設定されているリストを変更して下さい。そこにシングルクオーテーションで囲われて並んでいるタグが、h i c h a tで使用を許可されるタグになります。
    ただ、OBJECTやIMGといった類のタグはセキュリティの面からも許可しないようにする方が無難です。


  11. 入室ページを変更したい

    入室ページはentry.tmpl.htmlをテンプレートとして生成されています。この内容を直接変更すればそれがそのまま入室ページに反映されます。
    気を付けるべき点は発言窓の場合と同様
    • 1行目の「$HTML = <<__HTML__ ;」と最終行の「__HTML__」を変更しない
    • 「$」で始まる単語を不用意に変更しない
    • フォームの名前等を変更しない
    という3点です。
    また、初期状態の入室ページには「現在のログの状況」が表示されるようになっています。ここが不要という方は、
    <!--================ LOG PART =================-->
    から
    <!--================ FOOTER PART =================-->
    までの部分を削除して下さい。


  12. 過去ログを残したい

    Hichatは軽快な動作を最優先して設計してあるため、初期状態では$MAX_LOG行以上のログはどこにも保存されません。
    もし「過去ログを残したい」という場合には、init.cgiの「$F_LOGBACKUP = 0;」となっている部分を「$F_LOGBACKUP = 1;」という具合に設定すれば、data/logbackup.htmlというファイルに発言内容がどんどん蓄積されていくようになります。
    但し、このログファイルは存在する限り永久に肥大し続けていきます。ディスクスペースを圧迫する原因にもなりかねませんので、適時ご自分で削除(必要ならばバックアップを取って)して頂けるようお願いいたします。


【ファイル一覧】
実行スクリプト
実際にブラウザから呼ばれるスクリプトファイルです。これらのファイルはすべてパーミッションが755になっている必要があります
hichat.cgi メインスクリプト
index.cgi 入室ページ表示スクリプト
サブルーチン
実行スクリプトに取り込まれて機能する、各種サブルーチンです。これらのファイルは通常パーミッションの変更は必要ありません(644でOKです)
hichatsubs.cgi hichat用サブルーチン集
toolbox.pl 汎用ライブラリ集
jcode.pl 日本語処理ライブラリ
設定ファイル
h i c h a t の動作についての様々な設定が記述されています
init.cgi 基本設定ファイル
テンプレートファイル
表示画面の元となるHTMLのテンプレートです
entry.tmpl.html 入室ページ
error.tmpl.html エラー画面
frame.tmpl.html チャットのフレーム
log.tmpl.html ログファイル
postpage.tmpl.html 発言画面

【ディレクトリ構成】
【hichat】[755]---------------- 任意の名前。パーミッションは755(CGI実行可能)
 │
 ├ hichat.cgi[755]             これら2つが実際にブラウザから呼ばれるCGI。
 ├ index.cgi[755]              パーミッションを755にしておく必要がある
 │
 ├ hichatsubs.cgi[644]         上の2つのファイル以外は全てパーミッションは
 ├ toolbox.pl[644]             初期値(通常644、-rw-r--r--)で構わない
 ├ jcode.pl[644]
 │
 ├ entry.tmpl.html[644]
 ├ error.tmpl.html[644]
 ├ frame.tmpl.html[644]
 ├ log.tmpl.html[644] 
 ├ postpage.tmpl.html[644]
 │
 │
 └【data】[777]--------------- init.cgi内で「$_datadir」で指定されている
                                ディレクトリ。初期値は「data」

【更新履歴】

「 h i c h a t 」
info freako's high performance chat ver 2.0

copyright(c)1998-2000 inuro kawai all rights reserved.

→ go to info freako