人目
|
コメントリンク
Webボード
CLWB
|
|
○コメントリンクWebボード:CLWB
Webページにコメントリンク表示できる掲示板システムを設置するためのCGI
(Common Gateway Interface)を作りましたのでシェアウェアとして公開しま
す。名前は、”CLWB(Comment Link Web Board)”です。この”CLWB”の特徴は、
次の通りです。実際のものは、竹ソフトの
CLWBを御覧下さい。この掲示板は、プログラム言語Perlで書かれたCGIが
使える所でないと使用できません。(bekkoameでは一般的なCGIは、使用でき
ないのでこのCLWBも使えないと思います。)
- タイトルページ分離型
タイトルのみのページと、実際のメッセージのあるページを分離した
タイプです。このためタイトルページを見ると多くのメッセージのタイ
トルを一覧でき、目的のメッセージを探しやすくなっています。
- タイトルをコメントリンク表示できる
タイトルページでタイトルをコメントリンク表示できるため、どのメッ
セージがどのメッセージに対するコメントであるか分かり易くなってい
ます。
- メッセージもコメントリンクの順に配置することができる
メッセージもコメントリンク順にすることにより、関連したメッセージを
近くに配置し、ブラウザの縦スクロールで、すぐ関連メッセージを見る
ことができます。
- タイトルのページの配置をオプションで選択できる
タイトルは、標準でコメントリンク配置になりますが、オプションの設定
により、コメントリンクにせず、新しいタイトルほど上にしたり、新しい
ものほど下にしたりするよう指定できます。
- メッセージの配置をオプションで選択できる
メッセージは、標準でコメントリンク配置になりますが、オプションの
設定により、コメントリンクにせず、新しいメッセージほど上にしたり、
新しいものほど下にしたりするよう指定できます。
- 掲示板用ファイルの上限をチェック
掲示板用ファイルはメッセージが書き込まれるに従って大きくなります。
しばらく見ないうちにファイルが大きくなりすぎてトラブルが生じるのを
未然に防ぐため、あらかじめ設定していたファイルの大きさ(バイト単位)
を越えると”書き込みフォーム”の代わりに”書き込めません”という趣旨
のメッセージを出して、それ以上の書き込みができないようにします。
書き込めない場合でも、メッセージを見ることはできます。掲示板用ファ
イルを新しいものに取り替えるとまた、書き込めるようになります。
- CGIは日本語コードに依存しないようにした
敬称の”さん”と管理者の名前以外は、CGIのプログラム上で直接日本語
使用しないようにした結果、CGIは、2つの単語以外は日本語のコードに
依存しないようにしました。日本語の部分は、”html”ファイルを用い
ユーザーの方が変更しやすいようにしました。htmlファイルの例は、
JIS, EUC, Shift JISの3通り用意しました。これらの文字コード名に
なじみのない場合は、WindowsとMacをお使いの方はShift JISを、UNIXを
お使いの場合は、EUCを使ってみて下さい。
JIS、EUC、Shift JISと書いていますが、これは、CLWBのWebページを
このコードで表示したりデータ保存するだけで、EUCコードのCLWBに、
他のコードで書き込むことはでき
ます。CLWBの内部では、日本語コードをjcodeというライブラリを用いて
変換しています。一部のブラウザでは、日本語の自動判別機能の問題で、
CLWBの表示や入力した文字が、文字化けする場合がありますが、その場合
には、ブラウザの日本語コードをJIS用はJISコードに、EUC用はEUCコード
に、Shift JIS用は、Shift JISに固定していただくと正常に使用できます。
- 双方向リンクとコメント用リンク
タイトルページとメッセージページは、対応するメッセージ番号のタイ
トルをクリックすると、相互に行き来できるように双方向にリンクが
設置されます。また、どちらのページでもメッセージ番号をクリック
するとそのメッセージに対するコメントメッセージの入力フォームが現れ
ます。
- コメントメッセージの場合の引用機能
コメントメッセージの場合、コメント対象メッセージの内容が入力フォ
ームの上に表示されますが、更に、そのタイトルやメッセージを引用し
たい場合には、”Quote into Form”ボタンにより入力フォーム内に引用
できます。
- 入力したメッセージの確認画面を設置
FORMから入力したメッセージにまちがいがないか確認するための確認用
ページを設けて、ミスタイプや言葉のまちがいを確認し、間違えていた
場合には、もう一度FORMのページに戻って入力を修正できるようにしました。
- メッセージ番号も表示
メッセージには、メッセージ番号も表示し、引用しやすくしました。
- 再発言モード
前に、CLWBにメッセージを書き込んだ場合、2度目は、その発言番号を
名前欄に入力すると、名前、URL, メールアドレスが以前の発言のものを
参照して、使用されます。
- アクセスカウンタも付属
他のページからCLWBを見に来てくれた人の数を数えるテキストタイプの
アクセスカウンタをタイトルページに付けています。メッセージのページ
にもオプションでgcounterというカウンタを付けることができます。
- Perlで作成
Perlというプログラム言語で作成しておりますので、CLWBを設置するに
は貴方のサイトでCGIとしてPerlを使える必要があります。Perlの詳細を
知っている必要はありません。
- 管理者用書き込みモードがある
名前の欄に掲示板の管理者(所有者)のパスワードを入れると、CGIに設定
している管理者の名前、URLおよびE-mailアドレスが自動的に書き込まれ
ます。
- 多重書き込み防止機能
Perlの関数flockを用いて多重書き込み防止を行っています。Webサイトに
よっては、flockを使えない場合があります。そういう場合のためのCLWBは
、まだ作成していないので、申し訳ありませんが掲示板のgb_sl.cgiを御
利用下さい。
flockで多重書き込みを防止していても、これ以外の原因(Webサーバー
計算機のディスククラッシュ等)でも、ファイルが壊れる可能性はあるの
で、時々CLWBの内容を書いたタイトルページのファイル(title001.html等)
とメッセージページのファイル(msg001.html等)のバックアップは、必要
です。
- ファイルの交換が必要
タイトルページやメッセージページは、書き込みが多くなるとだんだん
表示に時間がかかるようになります。100から300メッセージ
(50KBから150KB)毎にタイトルページとメッセージページを交換する
必要があります。古いタイトルやメッセージのページは、新しいページ
からリンクすることにより、見ることができます。
- TABLEタグを使用
タイトルページでは、TABLEタグを応用して、コメントリンク表示してい
ます。従って、TABLEタグに対応していないブラウザでは、うまく表示
されません。しかし、メッセージページは、TABELタグを用いていないの
で、TABELタグに対応していないブラウザでも、メッセージページは、正
常にみることができます。
- 一度に書き込めるメッセージの長さの上限を設定
一度に書き込めるメッセージの長さを制限できるようにしました
(1997/01/24より)。これは、一度に大量の無意味なメッセージを書き
込むいたずらに対して、ある程度の効果があります。
- 強制改行機能
従来から、ブラウザがNetscape Navigator 2.0以上の場合は、メッセージ
を書き込む際自動改行機能が利用できました。CLWBのcheckmsg.cgiのver.1.3
からは、そのほかのブラウザでも、入力されたメッセージの一行が長い場合、
CLWBの方で強制改行することができるようになりました。初期設定値では、
一行が76バイトより長いと強制改行され、76バイトか77バイトにさ
れます。なお、ブラウザがNetscape Navigator 2.0以上の場合は、今まで
通りブラウザの自動改行機能を利用します。
- もっと簡単なものをお探しの方へ
CLWBは、機能が豊富なだけに設置にもたくさんのファイルを準備する必要
があります。もっと簡単な掲示板をお探しの方は、竹ソフトの”gb”
シリーズを御覧下さい。最初のWebページから、掲示板のリンク
をクリックすると見本があります。
○ CLWBの構成:全体は4ページ構成
CLWBは、次のような4ページの異なるページから構成されています。
- タイトルページ
タイトル一覧のページです。このページは、外部から来る場合には、
clwb.cgiというCGIにより、アクセス数、ファイルサイズ付きで表示
されます。
- 入力フォームページ
このページは、タイトルページの新しいメッセージボタンを押した
場合(新規メッセージ)か、タイトルページ、または、メッセージペー
ジのメッセージ番号を押した場合(コメントメッセージ)に表示されま
す。このページは、commsg.cgiにより表示されます。
- 入力確認ページ
このページは、入力フォームページで入力されたメッセージの確認を
行うページです。checkmsg.cgiにより表示されます。この確認でOK
なら、addmsg.cgiが呼ばれ、タイトルがタイトルページに、メッセー
ジがメッセージページに、それぞれオプションで指定された順序に
なるよう追加されます。
- メッセージページ
メッセージの本体のあるページです。
○ CLWBの設置の仕方
- ローカルマシンにディレクトリを作る
貴方の計算機上に”c:\clwb”等のCLWB用の新しいディレクトリをお作り下
さい。以下、”c:\clwb”にCLWBの必要なファイルを置くようにするとし
て説明します。
- ”CLWB”のダウンロードに関する注意事項
[Internet Explorer 2.0/3.0をお使いの方への注意]
IE 2.0/3.0を使ってテキストファイルをダウンロードすると先頭に空白行が
2行入る場合があります。その場合には、先頭の空白行2行は必ず削除して
下さい。
[Netscape History等の後でキャッシュからページを見るソフトをお使いの方へ]
キャッシュで見ると、ファイルの内容が変わる場合があります。必ず、
CLWBのファイルは直接Webページからダウンロードして下さい。
[Netscape Navigator 2.0等]
Netscape Navigator 2.0等を用いて、以下に示すファイルをダウンロード
した場合、改行文字がLFのままになる場合があります。秀丸エディタ
(Windows用)やJ-Edit(Mac用)では、改行文字がLFのみでもファイルの変更
ができますが、メモ帳などのエディタでは、編集できない場合があります。
そのような場合は、一度ファイルを貴方のWebサイトへftpソフトで送り(put)、
その送ったファイルをまた、貴方の計算機にダウンロード(get)すると、
ダウンロードの際に改行文字が、貴方の計算機にあったもの(Windows なら
CR LF, MacならCR)に変更されると思います(Macでは未確認)。
[Macユーザの方へ]
掲示板”gb”の設置の部分にあるMacユーザ用”gb”設置マニュアルも併
せて御覧ください。貴方の計算機から貴方のWebページへのファイルの転送
は、”Raw Data”で行って下さい。また、貴方のMacでのエディタは、
漢字コードや改行文字を編集できるJeditが便利です。入手先は、
竹ソフトのリンクのページを御覧下さい。
- CGIファイルのダウンロード
次の6個のCGIファイルをここからダウンロードして下さい。ここでは、
ブラウザからダウンロードできるようファイルの拡張子を”txt”として
います。”xxx.txt”のリンクをクリックして下さい。xxx.txtの中身が
表示されたら、ブラウザのメニューから、”ファイル/名前を付けて保存”
等の項目を選んでローカルファイルに転送して下さい。この際、貴方の
お手元の計算機(ローカルマシン)のディレクトリは先ほど作った
”c:\clwb”等にして下さい。貴方の計算機でのファイル名(ローカルファ
イル名)は、”xxx.cgi”に変更して置いて下さい。これで、
”c:\clwb\xxx.cgi”ができるはずです。これを各ファイルについて
行って下さい。メッセージページにカウンタを付けない場合には、
gcounter.cgiは不要です。
clwb.txt (ver.1.0)(2KB)
commsg.txt (ver.1.3)(7KB)
checkmsg.txt (ver.1.4)(10KB)
addmsg.txt (ver.1.4)(13KB)
gcounter.txt (ver.1.2)(4KB)
sorry.txt (ver.1.0)(1KB)
- HTMLファイルのダウンロード
まず、貴方のCLWBの日本語コードを何にするか決め手下さい。Shift JIS,
EUC および、JISの中からお選び下さい。日本語コードについて良く御存じ
ない場合は、Windows と Macの方は、Shift JIS, UNIXの方は、EUCをお選び
下さい。そして、そのコード用のHTMLファイル4種類を下のリンクから、
CGIファイルと同様にブラウザを用いてダウンロードして下さい。
htmlファイルが表示されたら、ブラウザのメニューの”ファイル/名前を
付けて保存”で貴方の計算機にダウンロードして下さい。その後は、
ブラウザの戻るボタンでここに戻って下さい。htmlファイルのリンクや
ボタンは使わないようにして下さい。
貴方のお手元の計算機では、ファイル名をそれぞれ、”title000.html”、
”top.html”、”form.html”および”msg000.html”として下さい。
(ただし、Windows 3.1を使用している方などは、htmlの代わりにhtmとして
下さい。以下すべてのhtmlファイルについて同様です。)
- Shift JISコード用
- EUCコード用
- JISコード用
- カウント用ファイルの準備
ここからダウンロードするか貴方で作成するかして、次のあと3個のファ
イルを御用意下さい。貴方にて御用意される際はファイル名が、下のファ
イルと全く同じになるよう御注意下さい。メッセージページにカウンタを
付けない場合は、m1_count.txtは不要です。
c_count.txt(CLWBを見に来た人数のカウント用)
(中身は、半角数字”0”のみで改行なし、1バイト)
m_count.txt(CLWBのメッセージ番号のカウント用)
(中身は、半角数字”0”のみで改行なし、1バイト)
m1_count.txt(CLWBのメッセージページのカウント用)
(中身は半角”0”のみで改行なし、1バイト)
- 数字のgifファイルの準備
メッセージファイルにgcounterを設置する場合には、数字のgifファイル
が必要です。0から9までの数字を示したgifファイルを持っていない場
合には、竹ソフトのグラフィックカウンタのWebページか、リンクのペー
ジの数字のgifのあるWebページからダウンロードして、貴方のWebページの
”.../public_html/image/”というディレクトリに”0.gif”,”1.gif”,
...”9.gif”という名前でバイナリーモードで送っておいて下さい。
すでに、他のカウンタ用に上のような名称の数字のgifをWebページに置
いてある場合は、それらのgifを共用できます。後述するgcounter.cgiの変更
の際に、それらのgifのあるディレクトリを$gif_dirに指定して下さい。
- CGIファイルの変更
- CGIファイル共通
BIGLOBE(mesh)以外で使用される場合には、6個のCGIファイルの一行目の
#!/usr/mesh/bin/perl
をそのサイトのperlのあるところに変更して下さい。
例えば、rimnetや3Webでは、
#!/usr/local/bin/perl
に変更して下さい。
- clwb.cgiの変更
clwb.cgiの(2)の一部を以下に示します。
$base_dir = "./"; # base directory of CLWB
$title_html = "${base_dir}title001.html"; # CLWB title page
$msg_f = "msg001.html"; # message file name(last name)
$msg_html = "${base_dir}$msg_f"; # message file name(full path)
$c_count_file = "${base_dir}c_count.txt"; # CLWB counter file
$m_count_file = "${base_dir}m_count.txt"; # number of messages
$base_dirは、BIGLOBE(mesh)は、cgiファイルのあるところがpwd(
Present Working Directory)になるのでそのままでいいですが、その
他の多くのプロバイダの場合、フルパスでCLWBのファイルのあるディ
レクトリを指定して下さい。例えば、
$base_dir = "/home/usr3/user-id/public_html/clwb/";
タイトルページと、メッセージページのファイルについては、後で
説明しますが、ファイルが大きくなって取り替えるまでは、このままに
して置いて下さい。
- commsg.cgiの変更
commsg.cgiの最初の方にある(2)の部分
$web_code = "euc"; # "euc", "sjis" or "jis"
$base_dir = "./"; # base directory of CLWB
$commsg_cgi = "./commsg.cgi"; # URL of commsg.cgi
$top_html = "${base_dir}top.html"; # top part of Web page
$form_html = "${base_dir}form.html"; # message input form
$msg_from[0] = 1; # first message number of $msg_file[0]
$msg_file[0] = "${base_dir}msg001.html"; # first message file
# $msg_from[1] = 201; # sample of second message file
# $msg_file[1] = "${base_dir}msg002.html"; # sample of second message file
のうち、まず、$web_codeを貴方のCLWBの日本語コードに応じて
"sjis"(Shift JIS), "euc"(EUC) または、
"jis"(JIS)に変更して下さい。
$base_dirは、clwb.cgiの場合と同様、BIGLOBE(mesh)以外の
多くのプロバイダの場合、フルパスに変更して下さい。
$commsg_cgiは、commsg.cgiのURLです。FORMのACTIONパラメータで指定
するところで
使われます。通常は、"./commsg.cgi"のまま
で良いですが、CGIを特定のディレクト
リに置く必要のあるWebサーバー(CERN)やWebサイトの場合には、例えば
"/cgi-bin/user-id/commsg.cgi"のように、FORMタグから、
commsg.cgiを
呼ぶ場合に付ける指定(URLタイプ)に変更して下さい。
$msg_form[0]と$msg_file[0]は、ペアになっています。$msg_file[0]の
ファイルにある最小のメッセージ番号を$msg_from[0]に指定して下さい。
メッセージファイルが大きくなって、2番目のメッセージファイルを
用いる場合は、コメント行(先頭に#のある行)にあるように$msg_from[1]
と$msg_file[1]も指定して下さい。このコメント行の例は、201番のメッ
セージから、2番目のメッセージファイルに取り替える場合です。
- checkmsg.cgiの変更
次に示すcheckmsg.cgiの最初の方の(2)の部分で、必要な変更を行っ
て下さい。
$msg_limit = 2000; # Limit of message lenth(bytes)
$line_limit = 77; # limit of bytes in a line
$base_dir = "./"; # base directory of CLWB
$home_url = "../index.html"; # URL of first Web page
$clwb_cgi = "./clwb.cgi"; # URL of clwb.cgi
$addmsg_cgi = "./addmsg.cgi"; # URL of addmsg.cgi
$commsg_cgi = "./commsg.cgi"; # URL of commsg.cgi
$password = 'clwb777'; # password for owner mode
$owner_name = 'Boadmaster'; # owner name(assign by input code)
$owner_url = 'http://www2a.meshnet.or.jp/~user-id/';
$owner_mail = 'user-id@mxs.meshnet.or.jp';
$web_code = 'euc'; # Japanese code of message file
$san = 'san'; # san in $web_code
$msg_from[0] = 1; # first message number of $msg_file[0]
$msg_file[0] = "${base_dir}msg001.html"; # first message file
# $msg_from[1] = 201; # sample of second message file
# $msg_file[1] = "${base_dir}msg002.html"; # sample of second message file
$msg_limitは、一度に書き込めるメッセージの長さの上限です。単位は、
バイトです。
$line_limitは、メッセージの一行のバイト数の上限です。初期設定値は、
77(バイト)です。80バイトより大きくすると、環境によっては、左右にス
クロールせずに見ることができませんのであまり大きくしないで下さい。
$line_limitを77から変更する場合は、その値より7小さい値をform.html
ファイルの次の行のCOLSの値に指定して下さい。この値は、Netscape
Navigator 2.0以上のブラウザで自動改行の際に使われます。フォントの
関係等でこの値より少し多く文字が書かれる場合があるので7小さくして
います。
<TEXTAREA NAME="message" COLS=70 ROWS=5 WRAP=hard></TEXTAREA><BR>
$base_dirは、BIGLOBE(mesh)以外での多くのプロバイダでは
、フルパスで
指定して下さい(clwb.cgiの項参照)。$home_urlは、最初のWebページの
URLをCLWBのあるディレクトリからの相対パスで指定して下さい。CGIを
特別なディレクトリに入れる必要のある場合は、フルURLで指定しても
かまいません。$clwb_cgiは、clwb.cgiのURLを相対パスまたはWebサーバ
計算機上のURLでしてして下さい。一番最後の方のリンクタグで使用され
ます。$addmsg_cgiと$commsg_cgiも同様です。最後の方のFORMのACTION
パラメータで使用します。$passwordは、管理者用のパスワードです。
半角英数字
半角ハイフン、半角アンダースコアで、4文字以上にして英字と数字も入
れて下さい(数字のみだと、そのメッセージ番号の発言者の2回目以降の
書き込みと解釈されてしまいます。また、偶然書き込み者の名前やハンド
ル名とだぶる確率を小さくするため数字も入れて下さい)。
$owner_nameは、日本語でもかまいませんが、その場合は、$web_codeの
日本語コードで指定し半角一重引用符で囲んで指定して下さい。
$owner_urlは、管理者のURLです。
通常、このCLWBの置かれる最初のWebページのURLを指定します。
$owner_mailは、管理者のE-mailアドレスです。$web_codeは、タイトル
ページおよびメッセージページの日本語のコードで、commsg.cgi,
addmsg.cgiでも同じコードを指定します。$sanは、管理者以外の書き込み
の場合、名前のあとに付ける敬称です。日本語で入れる場合は、$web_code
と同じ日本語コードで指定して下さい。また、$san = ''; とすると敬称
は省略されます。$msg_from と $msg_fileの指定方法は、commsg.cgiの
場合と同様です。
- addmsg.cgiの変更
addmsg.cgiの最初の方の(2)の部分は、次のようになっています。
$limit_tfile = 60000; # limit of title file(byte)
$limit_mfile = 60000; # limit of message file(byte)
$t_order = "comment_link"; # order of titles
$m_order = "comment_link"; # order of messages
$web_code = "euc"; # "euc", "sjis" or "jis"
$san = 'san'; # san in $web_code
$nrank = 10; # number of ranks in comments
$base_dir = "./"; # base directory of CLWB
$base_url = "./"; # url of CLWB
$m_count_file = "${base_dir}m_count.txt"; # message counter file
$title_f = "title001.html"; # current title file name
$title_html = "${base_dir}$title_f"; # message title file
$titlewk_html = "${base_dir}titlewk.html"; # message title work file
$title_url = $base_url.$title_f; # url of title page
$msg_f = "msg001.html"; # message file name(last name)
$msg_html = "${base_dir}$msg_f"; # message file name
$msg_url = $base_url.$msg_f; # url of message page
# full url of current message file
$full_msg_url = "http://www2a.meshnet.or.jp/~user-id/clwb/$msg_f";
$msgwk_html = "${base_dir}msgwk.html"; # message work file
$commsg_cgi = "./commsg.cgi"; # url of commsg.cgi
$limit_tfileと$limit_mfileは、それぞれ、タイトルファイルとメッセ
ージファイルのサイズの制限で、これらのファイルサイズがこの値(バイ
ト単位)を越えていると、メッセージを書き込むことができないように
しています。初期値は、両方とも60000(60KB)にしています。貴方の
Webサーバーとブラウザの表示能力に応じて変更して下さい。
$t_orderは、タイトルページのタイトルの表示の順序を指定するキー
ワードを指定します。初期値は、"comment_link"で、タイトル
は、コメントリンク表示されます。"new_first"を指定すると
新しいタイトルが一番上に追加されます。"new_last"を指定
すると新しいタイトルが一番下に追加されます。$m_orderには、メッセ
ージページのメッセージの順番を指定するキーワードを指定します。
$t_orderと同様に"comment_link", "new_first"
および"new_last"を指定することができます。ただし、メッ
セージページの場合には、コメントリンクの際は順番がコメントリンクの
タイトルの順番と同じになるだけでインデントや記号でのコメント関係の
表示は、されません。$t_orderと$m_orderは、それぞれ独立に指定でき
ます。$web_codeは、タイトルページおよびメッセージページの日本語
コード('sjis', 'euc', 'jis')を指定します。commsg.cgi, checkmsg.cgi
と同じコードを指定します。
$sanには、管理者以外に付ける敬称を$web_codeの文字で指定します。
(checkmsg.cgiと同じものを同じコードで指定します。)
$nrankには、タイトルページでのインデントを何段まで付けるかを指定
します。標準値は、10です。
$base_dirは、CLWBのtitle001.htmlやmsg001.html等のデータのあるデ
ィレクトリを指定します。BIGLOAB(mesh)
以外では、通常、フルパス名で指定します(clwb.cgiの項参照)。
$base_urlには、$base_dirをURLとして指定します。通常、相対的な
指定方法で指定します。相対的な指定が難しい場合には、絶対的な
指定方法でディレクトリを指定します。
$m_count_fileは、メッセージ番号の数字を保存するファイルを指定し
ます。通常、そのままにしておきます。
$title_fは、現在使用中のタイトルページのデータを入れておくhtml
ファイル名(の最後の部分)を指定します。$title_htmlは、タイトルペ
ージのhtmlファイル名を指定します。
通常、最初のタイトルページは、"title001.html"としますの
で変更不要です。$titlewk_htmlは、タイトルページの書き換えの際に使
用するワークファイルです。通常変更不要です。
$msg_fには、メッセージファイル名を指定します。通常
"msg001.html"としますので、変更不要です。
$full_msg_urlには、メッセージファイルのフルURLを指定します。最後
の部分は、$msg_fと同じになるのでそこまでのURLを貴方のCLWBのあるURL
に変更して下さい。
$msgwk_htmlは、メッセージファイルを書き換える際のワークファイル
です。通常変更不要です。
$commsg_cgiは、メッセージ番号をクリックするとcommsg.cgiが呼ばれ
るようにリンクする際のURLです。commsg.cgiがtitle001.htmlや
msg001.htmlと同じディレクトリにあれば変更の必要はありませんが
別のディレクトリに置く場合には、そのURLを指定して下さい。例えば
WebサーバーソフトがCERN等では、
"/cgi-bin/user-id/commsg.cgi"というように指定します。
この具体的な指定方法は、Webサイトによって異なります。
- jcode.plの使用(checkmsg.cgiおよびaddmsg.cgi)
checkmsg.cgiおよびaddmsg.cgiでは、日本語コードの変換に歌代さん
という方の作られたjcode.plというperl用のライブラリを使用しています。
このjcode.plが使用できるようにcgiの最初の方で
require 'jcode.pl';
とjcode.plを取り込んでコンパイルしています。BIGLOBE(mesh)、rimnet
(福岡、神戸、大阪)、3Webでは、プロバイダの方で、jcode.plをリンク
されるディレクトリに置いて準備してくれているのでこの一行で、
jcode.plが使えるようになります。
しかし、用意されていないWebサイトでは、このソフトをどこかから入手して、使用
するWebページのどこかのディレクトリへ置く必要があります。
1996年12月10日現在、次の場所からjcode.plの
ver.1.12またはver.2.0を入手できます。
ftp://ftp.iij.ad.jp/pub/IIJ/dist/utashiro/perl/
入手したあとファイル名をjcode.plにして、自分のディレクトリへftpで
テキストモードで送って下さい。また、checkmsg.cgiとaddmsg.cgiのrequire
の行を、次のように変更して下さい。
require '/フルパス/jcode.pl';
フルパスの部分には、貴方のサイトでのファイルのフルパスの設定に従っ
たパスを書いて下さい。例を下に示します。
require '/home/usr3/user-id/public_html/clwb/jcode.pl';
ここで、'/home/usr3/'の部分などは、プロバイダによって異なります。
また、パスの一部を変数にされる方は、変数が解釈されるように一重
引用符を二重引用符に変更して下さい。
- gcounter.cgiの変更
ダウンロードしたgcounter.cgiの初めの方の$count_dirをCLWBが
あるディレクトリを指定するようにして下さい。BIGLOBE(mesh)以外
の多くのプロバイダでは、絶対パスで指定する必要があります。
$gif_dirの方も、BIGLOBE(mesh)以外の多くのプロバイダでは、絶対
パスで数字のgifファイルがあるディレクトリを指定する必要があり
ます。
$count_dir = "./"; # directory of count number file
$gif_dir = "../image/"; # directory of number gif files
- HTMLファイルの準備
ダウンロードした4個のHTMLファイルを元に6個のHTMLファイルを準備
します。中身に日本語を使用する際は、cgiファイルで指定した$web_code
の日本語コードにします。
- title001.html
まず、ダウンロードしたtitle000.htmlを、貴方のWebページに合うよ
う修正します。日本語コードは、$web_codeに指定したものを使用し
ます。ただし、次の行
<!-- INSERT_COUNTER -->(ほんとは、半角英字の大文字)
と次のTABELは、そのまま残して置いて下さい。
<TABLE>
<TR>
<TH COLSPAN=10>メッセージ番号</TH><TH>氏 名:日付・時間:タイトル</TH>
</TR>
<!--BT:MSGN=0:CMT=0:RNK=0:ICODE=undef:-->
<!--ET:MSGN=0:CMT=0:RNK=0:ICODE=undef:-->
</TABLE>
ここで、$nrankを10から変更した場合は、その数をCOLSPANに指定し
て下さい。また、WebサーバソフトがCERN等の場合、FORMのsubmit
ボタンに普通のhtmlファイルを指定してもうまくそこに飛んでいって
くれない場合があります。そのような場合には、title000.htmlで
submitボタンを使用せず、3個とも普通のリンクタグ(アンカータグ)にして
ください。title000.htmlの修正が終わったら、これをコピーして
title001.htmlを作成します。
- titlewk.html
title001.htmlをコピーして、titlewk.htmlを作成します。
- msg001.html
ダウンロードしたmsg000.htmlを元に貴方のWebページらしくなるよう
修正します。ただし、上の方のタイトルページへのリンクとホームペ
ージへのリンクは、あった方が便利です。また、メッセージページに
gcounterを設置する場合には、次の部分は、そのままにして置いて下
さい。この指定により、gcounterは、m1_count.txtの数字で、カウント
と表示を行います。下の例では、ブラウザへの表示の都合上改行して
いますが、IMGタグとIMGタグの間で改行すると、Netscape Navigator
等で見ると数字のgifの間に空白が入りますので、実際は、IMGタグ間
に改行を入れない方がよいと思います。
<P ALIGN=right>
[<A HREF="./title001.html">CLWBのタイトルページへ</A>]
[<A HREF="../index.html">ホームページへ</A>]
<IMG SRC="gcounter.cgi?cf=m1_count.txt&digit=5"
BORDER=0 ALT="">
<IMG SRC="gcounter.cgi?cf=m1_count.txt&digit=4"
BORDER=0 ALT="">
<IMG SRC="gcounter.cgi?cf=m1_count.txt&digit=3"
BORDER=0 ALT="">
<IMG SRC="gcounter.cgi?cf=m1_count.txt&digit=2"
BORDER=0 ALT="">
<IMG SRC="gcounter.cgi?cf=m1_count.txt&digit=1"
BORDER=0 ALT="">
人目
</P>
また、次の2行はこのまま残して置いて下さい。書き込まれたメッセージは、
この間に入ります。
<!--BM:MSGN=0:CMT=0:RNK=0:ICODE=undef:-->
<!--EM:MSGN=0:CMT=0:RNK=0:ICODE=undef:-->
そして、修正したmsg000.htmlをコピーしてmsg001.htmlを作ります。
- msgwk.html
msg001.htmlをコピーしてmsgwk.htmlを作ります。
- top.html
ダウンロードしたtop.htmlを元にホームページへ戻るリンクなどが
違っていれば適宜修正します。このファイルは、メッセージ入力FORM
の上の部分になります。
- form.html
ダウンロードしたform.htmlを元にホームページへ戻るリンクなどが
違っていれば適宜修正します。このファイルは、メッセージ入力FORM
の下の部分になります。
- ファイルのアップロードとアクセス権の変更
以上の6個のCGIファイル、6個のHTMLファイル、3個のカウント用txt
ファイルが用意できたら、貴方のWebページのあるマシンへ
の転送です。まず、掲示板用のディレクトリを作って下さい。一例として
、貴方のpublic_htmlディレクトリに”clwb”というディレクトリを作って
そこに掲示板を設置する場合について説明します。通常のftpコマンドなら、
cd public_html
mkdir clwb
cd clwb
です。その他のftpソフトでは、メニューで”command/mkdir”や
"make new directory"などの項目を実行して作成して下さい。
次に、15個のファイルを必ず”ASCIIモード(=テキストモード)”で転送
(put)してそれからアクセス権を次のように変更して下さい。
--------------------------------------------------
ファイル名 アクセス権
--------------------------------------------------
cgiファイル(6個) 705
title001.html 606
titlewk.html 606
msg001.html 606
msgwk.html 606
c_count.txt 606
m_count.txt 606
m1_count.txt 606
---------------------------------------------------
アクセス権の変更の仕方がわからない方は、竹ソフトのグラフィックタイ
プのアクセスカウンタ”gacf”の設置方法のところを見て下さい。
- cgiの実行許可
BIGLOBE(mesh)では、ファイルの拡張子が”cgi”となっていると自動的に
CGIファイルとして実行できるようプロバイダーの方でサーバーの設定を
おこなっています。しかし、サイトによっては特別な設定が必要です。
グラフィックタイプのアクセスカウンタ”gacf”の設置方法のページを
御参考にして下さい。
- 掲示板へのリンク
ホームページから、コメントリンクWebボードへリンクを張るには、
<A HREF="clwb/clwb.cgi">[コメントリンクWebボードへ]</A>
のようにアンカータグを用いて”clwb.cgi”が呼ばれるようにして下さい。
○コメントリンクWebボード”CLWB”の使い方
- CLWBのリンクをクリックするとタイトルページが表示されます。
- 他のメッセージとは、独立に新しいメッセージを書き込むには、タイトル
ページ”新しいメッセージ”ボタンを押します。すると、commsg.cgiが、
メッセージの入力フォーム(form.html)を表示します。そのFORMに従って、
”名前”,”URL”,”E-mailアドレス”, ”タイトル” ,”メッセージ”
を書いて、”送る”ボタンを押します。次に、checkmsg.cgiが、今入力
されたメッセージを表示します。その内容を見て、そのまま送る場合には、
”Send”ボタンを、修正する場合は、”Modify”ボタンを押します。
メッセージが書き込まれたら、メッセージページの書き込まれたメッセー
ジの部分に飛んで表示します。もし、この際にブラウザのキャッシュにあ
る書き込み前のメッセージファイルが表示される場合には、ブラウザの
再読み込みボタンを押して、書き込み後のメッセージファイルを表示さ
せて下さい。
- 今までに書き込まれたメッセージに、関連したメッセージ(コメントメッ
セージ)を書き込むには、タイトルページでも、メッセージページでも、
コメントを付けるメッセージ番号をクリックします。すると、commsg.cgi
が、コメント対象メッセージを表示し、その下に、引用ボタンを示し、
一番下にメッセージの入力フォーム(form.html)を表示します。
コメント対象メッセージのタイトル and/or メッセージを引用する場合は、
引用部分をチェックして”QUOTE into FORM”ボタンを押します。すると
FORM内に引用された文字列が表示されます。
次にFORMに従って、
”名前”,”URL”,”E-mailアドレス”, ”タイトル” ,”メッセージ”
を書いて、”送る”ボタンを押します。次に、checkmsg.cgiが、今入力
されたメッセージを表示します。その内容を見て、そのまま送る場合には、
”Send”ボタンを、修正する場合は、”Modify”ボタンを押します。
メッセージが書き込まれたら、メッセージページの書き込まれたメッセー
ジの部分に飛んで表示します。もし、この際にブラウザのキャッシュにあ
る書き込み前のメッセージファイルが表示される場合には、ブラウザの
再読み込みボタンを押して、書き込み後のメッセージファイルを表示さ
せて下さい。
- 今までに書き込まれたメッセージを見るには、タイトルページの”メッセ
ージを見る”ボタンを押して下さい。また、特定のメッセージを見る場合
には、タイトルページの見たいメッセージのタイトルをクリックするとそ
のタイトルを持つメッセージのところへ飛んでいきます。また、メッセー
ジの順序をコメントリンクにしている場合には、上下にスクロールして、
関連するメッセージを見ることができます。
- メッセージページから、タイトルページに戻るには、メッセージページの
上下にあるタイトルページのリンクをクリックします。各メッセージのタ
イトルをクリックすると、タイトルページのそのメッセージのタイトルの
部分に戻ります。
- CLWBから出るには、[ホームページに戻る]等のリンクをクリックします。
- 管理者モードを使用するには、名前欄に管理者用のパスワードを入れます。
すると、名前、URL、E-mailアドレスは、checkmsg.cgiに設定したものが
使われます。
- 管理者以外の書き込みで、2回目以降の場合は、前回書き込んだメッセージ
番号を名前欄に記入すると、名前、URL、E-mailアドレスは、以前のものが
使用されます。
○コメントリンクWebボード”CLWB”のメンテナンス
○CLWBの使用実績
当方に御連絡いただいたCLWBの使用できたサイトを表1に
示します(1997年2月26日までに御連絡のあった数)。
表1 竹ソフトのコメントリンクWebボード”CLWB”使用実績
プロバイダ |
サーバー |
CLWB |
BIGLOBE/mesh | NCS | 5 |
InfoWeb |
| 1 |
rimnet | NCSA | 1 |
ebic | CERN | 1 |
InfoEddy |
| 1 |
大学等 | Windows NT 4.0 ISM 4.0 | 1 |
[注記]NCS: Netscape Commerce Server
NCSA: National Center for Supercomputing Applications Server
CERN: CERN Server
IIS: Internet Information Server for Windows NT
ISM: MS Internet Service Manager
○わかっている問題点等
- 新しく書き込んだメッセージやタイトルが表示されない
書き込む前に、メッセージページやタイトルページを見た場合は、メッ
セージを書き込んだ後で書き込んだメッセージが表示されない場合が
あります。これは、ブラウザがキャッシュにある書き込み前の状態を
表示するためです。お手数ですがブラウザの再読み込みボタン(リロー
ドボタン)を押して表示して下さい。CGIで、メッセージページを直接表示
すると、キャッシュされないようにできますが、そうするとメッセージペ
ージの先頭部分しか表示されないので、書き込んだメッセージまで手動
等で移動する必要が生じます。それより、再読み込みボタンを押す方が
簡単だと思って、現状のようにしています。msg000.html(ver.1.2)からは、
メッセージページの上下に、この場合に対する注意書きを追加しました。
- Netscape Navigator(NN) 2.0/3.0以外のブラウザで書き込んだメッセージ
を NN 2.0/3.0でFORM内に引用すると、最後の方の数文字が切られて次の
行になる
NN 2.0/3.0の自動改行機能のため、TEXAREAタグでCOLSでバイト数を指定
しますが、半角文字のみの場合はこの通りになるようですが、全角文字
だとこの数字より数文字多くなったりします。そのため、CLWBによる改行
は、COLSの数字より大きくなるようにしています。このため、CLWBで強制
改行された行は、一行の文字数が、NN 2.0/3.0で書き込んだ場合より多く
なり、この行をNN 2.0/3.0のFORMに読み込むと最後の方の数文字が改行さ
れてしまいます。
お手数ですが手動で調整をお願いします。また、CLWBの場合、
コメントを付ける元のメッセージは、メッセージのページで少しスクロー
ルすることにより見ることができますので、引用部分は、できるだけ少な
くしていただくと、改行の調整の作業も少なくてすみます。
- 引用の際に引用した行の先頭に引用の印が出ない
引用した行の先頭に”>”のような記号を付ける場合が良くあります
が、こうするとその行の文字数が増えてしまうため、自動改行や強制改行
の機能が働いて、行末の文字だけ改行されたりします。従って、そのよう
にはしていません。お手数ですが、手動でこのような記号を入れて改行を
調整して下さい。
○お詫び
- commsg.cgiのver.1.2以下(1997.2.3以前)では、IE 2.0でタイトルを引用
しようとするとタイトルの最後に改行文字が入る不具合がありました。
対策したものをver.1.3としましたので、お手数ですが、バージョンアッ
プをお願いします。
○CLWBの著作権等
CLWBの著作権は、竹ソフトに属します。ここから、ダウ
ンロードされた場合には、貴方のサイトで自由に変更していただいて構いませ
ん。しかし、許可なく再配布はしないでください。
○CLWB/clwb.cgi来歴
- Ver.1.0 1996/12/07 竹ソフトのWebページに設置
- Ver.1.0 1996/12/16 公開
○CLWB/commsg.cgi来歴
- Ver.1.0 1996/12/07 竹ソフトのWebページに設置
- Ver.1.0 1996/12/16 公開
- Ver.1.1 1997/01/24 $web_codeがEUCの場合でも、Internet Explorer
2.0でメッセージの修正ができるよう改良
- Ver.1.2 1997/01/29 $cgi_dirをやめて$commsg_cgiに変更
- Ver.1.3 1997/02/03 タイトルの引用部分を変更
○CLWB/checkmsg.cgi来歴
- Ver.1.0 1996/12/07 竹ソフトのWebページに設置
- Ver.1.0 1996/12/16 公開
- Ver.1.1 1997/01/24 一度に書き込めるメッセージの長さを$msg_limit
に制限
- Ver.1.2 1997/01/29 以前に書き込みをした場合、そのメッセージ番号
を名前欄に書くと名前とURLとメールアドレスが引用される機能の不具合
を修正。$addmsg_cgiと$commsg_cgiを追加
- Ver.1.3 1997/01/31 NN 2.0/3.0以外のブラウザに対する強制改行機能付加
- Ver.1.4 1997/02/12 メッセージの場合、強制改行してからHTMLのエスケ
ープコードを変換するよう変更
○CLWB/addmsg.cgi来歴
- Ver.1.0 1996/12/07 竹ソフトのWebページに設置
- Ver.1.0 1996/12/16 公開
- Ver.1.1 1997/01/13 メッセージのページのレイアウトを少し変更
- Ver.1.2 1997/01/24 CGIを特定のディレクトリに置いておく場合でも
タイトルページとメッセージページのリンクが
うまく行くよう変更
- Ver.1.3 1997/02/15 メッセージの書き込み時の年号を4桁に変更。
これで、2038/01/19までうまく年号を表示できるらしい。
- Ver.1.4 1997/06/28 IE 3.1等で空白のメッセージが入ることがあるた
め、この対策として、(3)の最後にunless文を一行追加。
○CLWB/title000.html来歴
- Ver.1.0 1996/12/07 竹ソフトのWebページに設置
- Ver.1.0 1996/12/16 公開
- Ver.1.1 1997/01/31 半角カタカナ、送るボタン/リロードボタン、
強制改行の注意書き追加。Windowsの場合のフォントを”MS ゴシック”に指定
- Ver.1.2 1997/02/12 書き込んだタイトルがキャッシュで見えない場合
再読み込みボタンを押すよう注意書きを上下に追加
○CLWB/msg000.html来歴
- Ver.1.0 1996/12/07 竹ソフトのWebページに設置
- Ver.1.0 1996/12/16 公開
- Ver.1.1 1997/01/31 Windowsの場合のフォントを”MS ゴシック”に指定
- Ver.1.2 1997/02/05 書き込んだメッセージがキャッシュで見えない場合
再読み込みボタンを押すよう注意書きを上下に追加
○CLWB/form.html来歴
- Ver.1.0 1996/12/07 竹ソフトのWebページに設置
- Ver.1.0 1996/12/16 公開
- Ver.1.1 1997/01/24 メッセージ以外の欄にMAXLENGTH=200を設定
○コメントリンクWebボード”CLWB”はフリーウェア
- コメントリンクWebボード”CLWB”は、2013年よりフリーウェアです。カンパは歓迎します。。
- このソフトウェアの設置や実行等による損害、不具合等は、免責とさせていただきます。
- カンパの送金方法:竹ソフトのWebページの”送金方法”を御覧下さい。
竹ソフトのホームページへ戻る
著作・制作(c)1996-2013 竹中: 竹ソフトのWebページに掲載の文書,図,表,
アイコン,写真,プログラム等の無断転載はしないで下さい。竹ソフトのサイト
から転送したファイルにより生じた損害等あるいは転送作業による損害等は
補償できませんので御了承下さい。
Copyright (c)1996-2013 Takenaka: All rights reserved.
連絡先:takesoft(atマーク)mud.biglobe.ne.jp/初期設置日:1996年12月16日/最終変更日:2013年8月25日