〜 コメント記事作成CGI Comment HTML 〜

最終更新日 2004.3.26 

 表示部をHTML形式にした、動作の軽いコメント記事作成支援CGIです。


■特徴

 コラム作成支援CGI「Column HTML」「Press HTML」の別バージョンタイプです。Column HTMLやPress HTMLが1つの記事につき1ページであるのに対して、こちらは1つのページに複数の記事を書くことができます。うだうだ説明するよりはサンプルを見た方が早いんでまずは見てやって下さい(笑)。

 掲示板を書くようにコメント記事が書けます。
 一応、更新記録などを書くことを念頭に置いていますが(白砂はそれ用途で開発しました)、Q&A、小説、日記など用途は無限に考えられます。ページを作成してFTP転送、なんていう手間はかかりません。充実したHPが簡単に作成できます。


■サンプルとダウンロード

サンプル

以上の条件に同意できた場合のみ、ファイルをダウンロードして下さい。また、ファイルをダウンロードした場合、無条件に上の条件に同意したものとします。

Ver 1.10
LHA形式
comment.lzh
ZIP形式
comment.zip

■各種ファイルの説明

具体的な説明に入る前に、各フォルダ/ファイルの説明をしておきます。

 念のため、でしかないんですが、同時書き込みができないようにファイルロック処理を行っています。自分以外が書き込むことはない筈なんで必要ないんですが、本に書いてあったのでつい……(笑)。
 CGIが使用するだけで表に出ない(アドレスとして利用者には判らない)ものなので、そのままのフォルダ名で構わないと思います。

 CGI本体です。
 いろんなパラメーターが中に書かれています。そのままでは100%動かないので、パラメーターは書き直して下さい(後述)。

 拡張子で想像できる通り、ログファイルです。
 中身はエディタで見れば判る通りなんで省略しますが、4種類のデータしか書き込んでいないので、理解はしやすいと思います。
 ないことを祈りますが、CGIの不備等により正常なメンテナンスができなくなった場合、最悪ここを書き直せばなんとかなるかもしれません。

 実はよく知らないんですが(笑)、なんでも日本語処理をするためのライブラリらしいです。お願いですからライブラリって何? なんて訊かないで下さい。

 CGIを設置したら、まずここにアクセスします。
 一度何か記事を書いたら、内容は変わります。どう変わるかはやってみてのお楽しみ(笑)

 本スクリプトはWeb上で各種設定が更新できます。その設定を保存しておくファイルです。各設定値の意味は、見れば一発で判る筈です(ホントです(笑))。

 文字通りスタイルシートです。CGIが使うスタイルシートです。自分で好きなようにカスタマイズできます。

 本CGIの最大のウリである「過去ログとのシームレスなリンク」をするために、過去ログの最終番号を記録しています。数字が1つ入っているだけです(初期値は1です)。
 これをヘタに書き換えると過去ログからめっちゃくちゃになります。気をつけて下さい。

 この他にも、CGIが自動生成するファイルがありますが、それは使っていくうちに判るでしょうからここでは触れません。動きゃいいぢゃん(←暴言)。


■設置方法1.パラメーター設定

 commenth.cgiをエディタで開いて、以下のパラメーターを適切なものに設定しなおして下さい。
 ここでは「最低これだけを書き換えればCGIが動作する」というものを挙げています。表示に関わる部分など、細かい設定はcommenth.cgiを参照して下さい。多分(笑)判ると思います。

#!/usr/local/bin/perl
 (プロバイダで定められたPerlへのパスを指定します)

$script = 'http://www.xxx.xx.xx/~xxx/comment110/commenth.cgi';
 (このCGIが置かれている場所をURLで指定して下さい)

$htm_url = 'http://www.xxx.xx.xx/~xxx/comment110/';
 (トップファイル(フレーム親。index.html)を置くディレクトリをURLで指定します)

$home = 'http://www.xxx.xx.xx/~xxx/index.html';
 (戻り先のURLを指定します)

$pass = '0123';
 (管理用パスワード(英数字)を指定して下さい。常識の範囲の長さでひとつ)

 以上を変更すれば、とりあえずCGIは動作する筈です。


■設置方法2.パーミッション設定

public_html / index.html (トップページ)
     |
     +-- comment100 / commenth.cgi  [755]
            |       comment.log     [666]
            |       jcode.pl        [644]
            |       index.html      [644]
            |       config.dat      [666]
            |       style.css       [666]
            |       kako.cnt        [666]
            +-- lock [777] /

 パーミッションを設定すれば設置は完了です。


■記事の書き方

 先ほど設置したindex.htmlにアクセスして下さい。「書き込み画面へ」というリンクが貼られていますので、それをクリックします。
 管理モードへの入室画面になりますので、「書込」を選択してパスワードを入力して下さい。パスワードが認証されると、書き込みフォームが現れます。

 あとは、フォームに記事の内容を書いて送信ボタンを押すと、フレームのトップファイル、メニューファイル、記事ファイルが作成されます。
 2回目以降は、記事ファイルの上のメニューの「管理用」から入って下さい。

 index.htmlは単純な相対パスで書かれていますので、特殊な場所にCGIを設置した場合など、リンクが飛ばない場合があります。その場合は、少々面倒ですがCGI本体を引数つきで呼び出して下さい。引数は「mode=admin」です。
 具体的には、こんな感じです。

【呼び出し例】
   http://www.xxxxx.ne.jp/~xxx/comment100/commenth.cgi?mode=admin

 管理モードへの入室画面になりますので、以下は上で説明した手順と同様に進めて下さい。


■設置方法3.各種環境設定

 基本的には上記の処理をすれば動く筈です。
 ただ、それだけでは本当にただ動くだけです。戻り先も決めていないし、色やフォントもデフォルトのままです。
 これを変更するには、管理モードの「環境」を選択して下さい。

 1つ1つのパラメータについては、煩雑になりますので説明はしません。別にいろいろ試しても困る類のものでもないので(笑)、いろいろ試してみて下さい。


■質問など

 質問などはサポート掲示板の方にお願いします。
 いろいろ質問が出揃えば、FAQみたいなものも作ると思います。

掲示板はこちら


■開発履歴  古いバージョンもダウンロードできます(LZH版です)

v1.10 コメントにアンカーをつけた。同梱のlogファイルにテストデータを入れたままだったのを削除(恥)。同梱のindex.htmlのadminリンク先が違うのを修正(大恥)。
v1.00 公開。別名人柱バージョン(笑)。とりあえずは動くと思います。

■謝辞/ひとこと

 Column HTML、Press HTMLと、自作CGIを発表させていただきました。
 幸いにも、評判は悪くないようでよかったです(笑)。まだまだ問題も多いとは思いますが、その辺には目をつぶっていただいているようで(<をい)。

 長い記事を書く、という方向性については、これ以上の進歩はそうは望めないと思っています。あとは目次のカテゴリ分けくらいでしょうか。それがまた難しいんですが。
 なので、今回は別方向から攻めてみました。

 白砂もHPを持っていて、更新履歴を書いています。
 いつの頃からか、CGIを使って書くことにしたんですが、どういうわけかああいうCGIって、過去ログとの連携がシームレスに行かないんですよね。CGIタイプのものの場合は問題ないんですが、HTML出力のCGIだと、ほぼ例外なく過去ログは別ページにわざわざ飛ばないと表示されません。
 見る人が、普通に「前の○件」というリンクをクリックしていくと一番初めまで行き着く。
 そんな当たり前のことが、できていないんです。

 ないものは作る。

 いつものパターンで、今度はこれに挑戦しました。

 やってみると意外と難しく、なかなかうまくいきません。詳細は別ページに譲りますが、過去ログは二度と書き換えることがないため、リンク先を指定するのが非常に困難になるんです。
 どうやってそれを解決したかは実際に動かしていただければ判ると思います。単純な構造なんですが、これを思いつくのがまた大変で……。

 ま、愚痴と自慢は別のページでたっぷりすることにします。
 ここでは、そんな話は野暮ってもんですから。

 というわけで、白砂制作のスクリプト第3弾をお届けします。

白砂 青松