掲示板トップページ
|
スガラボットの Forum Patio
|
★ スガラボットの Forum Patioとは
|
【最新バージョンは v1.53 です。ダウンロードはこちら】
- Forum Patio は KENT Web の掲示板 We Patio と「きりしま屋」さんによるその改造版を元に、スガラボットが記事閲覧画面でスレッド内での各発言の参照関係を示すツリー表示機能を採り入れて Forum 式の記事閲覧が出来るように拡張した掲示板CGIです。
- この掲示板は各スレッド毎に独立したログファイルを作成するマルチスレッド式の掲示板です。
- PCからだけでなく、携帯電話からの閲覧も可能です。但し一部機能に制約があります。送信データ量の圧縮はしていません。
- 掲示板のトップページはPatio形式とForum形式どちらの表示にも対応でき、相互に切り替え可能です。
【Forum/Patio表示形式の選択】
- patio.cgi (各会議室のpatio.shtml) にアクセスするとWeb Patioやきりしま式掲示板と
同様のPatio式掲示板のトップページが表示されます。
- forum.cgi (各会議室のforum.shtml) にアクセスするとhttp://www.kent-web.com/さんの
Web Forumと同様、トップページで各スレッドの発言がツリー表示されます。
- Patio形式、Forum形式の両トップページから他の表示形式に切り替えるリンクがあります。
- 会議室毎に優先する表示形式を設定できます。優先表示形式を設定しないと掲示板閲覧後は前の表示形式に戻ります。
- SSIインクルードが可能なサーバでは一組のCGIでマルチ会議室の設置が可能です。【複数会議室設置の基本要件】
- 共通のCGIファイルを会議室毎に異なる掲示板ディレクトリからSSIで起動します。
- まず従来通りのデフォールト設定を一度読み込み、SSI起動による複数会議室構成のときは会議室毎に
設置するroomN.iniで設定パラメータを上書きすることにより、会議室毎に独自のデザインが設定出来ます。
- 記事ログやアップロードファイルなど各掲示板のデータは会議室毎に独立しているので運用上の制約がありません。
- きりしま屋さんのWeb Paito掲示板の他以下の機能を拡張しています。
【メンバー制会議室】
- 管理者は特定メンバー制の会議室が設定できます。メンバー制会議室は管理者が払い出したID/Passでを入力して
認証されたユーザのみが使用できるようになります。
- 他のホームページなどからのリンクで特定の記事が参照された場合も、ログイン認証さえ行えば一々トップページを
経由することなく、直接目的の記事が閲覧できます。
- 最初のログインから設定された制限時間が経過すると再度ログインが求められます。記事投稿時などに再ログイン
が要求されたときも、正規のID/Passが入力されれば処理は継続されます。
【スレッド種別ごとの表示機能】
- 管理者メッセージに指定したスレッドは返信投稿を受け付けず、常にトップページの最上位に表示されます。
- FAQスレッドに指定したスレッドには返信投稿が出来、会議室の優先テーマとしてトップページの上位に表示されます。
- スレッド作成者や管理者はスレッドをロックして返信投稿を受け付けないように指定できます。
- スレッド数が設定値を超えるか、管理者が選択したスレッドは過去ログに落とすことが出来ます。
【ファイルアップロード・ダウンロード機能】
- スレッドの親発言のみでなく返信にも画像や各種ファイルが発言毎に3つまでアップロード出来ます。
- 各会議室毎にファイルアップロードの可否が設定できます。 (不可、スレッド親発言のみ許可、返信にも許可など)
- 画像ファイルは200x200ピクセルで表示されますが、左クリックすると元の大きさで表示、右クリックで保存できます。
- サムネイル設定を有効にすると、PCブラウズのとき(200x200)、携帯電話閲覧時(96x96)のサムネイル画像を表示します。
- zipやlzh、またdocなどのファイルはダウンロードアイコンが表示され、左クリックでダウンロード出来ます 。
【ツリー表示機能】
- Patio表示のトップページから記事を閲覧するときも各発言の参照関係をツリー表示出来ます。
【個別・昇順・降順など自在な表示機能】
- 記事閲覧ページでは個別記事の選択表示と、Patio式 (投稿順) 表示、 Forum式 ツリー表示 (各記事を枠で囲んで参照関係を線と字下がりで表示)
が可能で、夫々降順 (正順) と 昇順 (逆順) 表示が自在に切り替えられます。
【BBCodeによる文字修飾、箇条書き、URLリンク】
- BBCodeというのはXOOPSフォーラムなどで使用されているHTMLライクの軽量タグで、投稿記事の表現力を大幅に向上することが出来ます。
- 基本的な使用法はHTMLタグと同じように [command]●●●[/command] とHTMLタグの < > を [ ] に替え、修飾したい文字列を開始タグ
[…] と [/…] のようにスラッシュで始まる終了タグで挟むことによって修飾する文字列の範囲を指定します。
- [b] [/b] (太字)、[u] [/u] (下線)、[i] [/i] (斜字体)、[d] [/d] (抹消線)ゃ [color=〇〇] [/color]
(着色)、[size=n] [/size] (文字サイズ) などの文字修飾、また [list] [*] [/list] (順序無し箇条書き)、[list=○]
[*] [/list] (順序付き箇条書き)、[url=…] 説明語句 [/url] (説明語句にURLリンク) などが使えます。
- 詳しくは同梱されている「留意事項」に記された事例をご参照下さい。
【本文記事の文字カラー指定機能】
- 各投稿毎に好みの文字カラーを選択出来ます。前回使用した文字カラー情報は投稿者毎にクッキーにデフォールトの「自分色」として保存されます。
【UTF-8対応】
- CGI スクリプトは、殆どが UTF-8 で記述されています。また、HTML入出力とログファイルの文字コードもデフォールトでは UTF-8 としています。もちろん
SJIS/EUC-JP/UTF-8/ISO2022 に設定できます。但し、携帯電話からのアクセス時には HTML 入出力コードを SJIS に自動的に切り替えます。また
CGI スクリプトのバージョンアップに際して、従来からの掲示板ログを UTF-8 に変換するツールを添付しています。(v1.32以降)
【RSS フィード】
- 新規投稿時、及び記事の修正があったときに静的な RSS フィードファイルを作成し、Paiot 形式/Forum 形式のトップページにこれら RSS
フィードへのリンクを配置しました。 これにより RSS リーダまたは FireFox や IE7/IE8 などのブラウザから FEED 情報を購読できます。この
RSS フィード機能は如水さんの +RSS/ATOM を利用させて頂いて拡張したものです。またスレッド記事一覧ページ及びスレッド閲覧ページには、そのスレッドの新着記事及び更新情報のみを配布する
ダイナミックな RSS フィードへのリンク機能を備えています。(v1.32以降)
【検索ワードのハイライト表示】
- Patio/Forum 形式のトップページにある検索窓に検索語を入力して「検索実行」をクリックすると検索語が含まれるスレッド/記事が表示され、各検索語が黄色でハイライト表示されます。(v1.30β以降)
- 検索語は複数入力でき、検索条件として AND/OR が選択できます。Forum 形式のページでは、選択条件がヒットするスレッドまたは記事が青色でハイライト表示され、AND/OR の選択条件はスレッド単位、及び選択されたスレッド内閣記事の各々について個別に指定できます。
【ダウンロード数の記録と表示】
- 下のURLで会議室毎にその会議室(例はroomN)でアップされたファイルのダウンロード数がWebから確認できます。
http://www.example.com/cgi-bin/showcount.cgi?dir=/bbs/roomN/upl&fn=dlcount.dat
【携帯電話からの閲覧】
- Forum Patio の掲示板はPC ブラウザからだけではなく、携帯電話からの閲覧に配慮しています。携帯電話からのアクセス時は HTML 入出力は
SJIS コードに切り替えられ、メモリ容量の小さい携帯電話から閲覧してもメモリオーバにならないよう、閲覧ページでは1ページに1記事しか表示しない設定にしています。
- 画面の横幅に制限がある携帯電話では、横幅の必要なツリー表示の閲覧ページは表示しないようにしています。
- Patio 形式にトップページに新しく設置したリンクから、選択したスレッドの記事一覧を表示し、記事を一つずつ選択して閲覧表示できます。また、閲覧ページにある「前の記事」、「次の記事」リンクをクリックすることで記事を次々読み進めることができます。
- 現状では携帯電話からの画像アップロードはできないようにしていますが、ご要望があれば修正は可能です。
【管理機能】
- 管理者は指定したスレッドを過去ログに落とし、また過去ログから原稿ログに復帰させることが出来ます。
- 管理者は指定したスレッドを完全削除するか、退避ディレクトリに移動して閲覧できなくするかをinit.cgiで設定できます。また、退避ディレクトリに移動したスレッドは過去ログに戻し、更に過去ログから現行ログに移すことも出来ます。
- 管理者はスレッドの特定記事を選択し、削除または編集できます。
- 管理者はスレッドの特定番号以降の発言ツリーをスレッドから分割し、新規スレッドとして独立させるか、
或いは他のスレッドの指定した発言に連結することが出来ます。
- 管理者はスパム投稿などで削除したために空き番となったスレッド番号を埋めるため新規スレッドのカウンタを元に
戻したり、また指定したスレッド番号を別の番号に改番することが出来ます。
- スレッド分割・連結や改番により、他スレッドからの参照記事リンクが変化するときは、全現行ログをサーチして
参照リンクを新しいリンクに更新します。
- RSS フィード構成を変更したときなど、RSS フィード・ファイルを作り直す機能を備えています。
【スパム投稿防止機能】
- 自動ロボットによるスパム投稿を防止するため、KENT本家/きりしま式で採用されている GIF 画像 4枚による画像読み取り
「投稿キー」の他、パソコンおやじさんの開発された CAPTCHA 式の一枚画像による「投稿認証キー」をサポートしています。
【過去ログ・アーカイブのページ分割表示】(v1.40 ~)
- 過去ログ・アーカイブをページ単位に分割して閲覧出来ます。これは、KENT 式 Web Forum の過去ログ表示機能に準拠したものです。 init.cgi
で設定した数のスレッド数単位に過去ログをページ分けして整理することにより閲覧や検索効率を向上できます。各々の過去ログアーカイブ・ページでツリー表示とトピックス表示の選択が可能です。また、各ページのトップから過去ログ全体のワード検索ができます。
【ホームページ共通ビューカウンター】(v1.50 ~)
- 会議室のビューカウンタは、Forum Patio init.cgi のデフォールトで有効になっており特に設定する項目はありませんが、ユーザ Web の各ページにビューカウンタを設置するときは、
ページのカウンタを表示する場所に、 /cgi-dir/counter.cgi?ID=xxxx と記述して下さい。この時 ID は各ページを識別する任意の英数字でこの ID 毎にアクセス数が集計されます。
なお、ユーザホームのトップページには /cgi-bin/counter.cgi のように ID パラメータのない値を記述すると、各ページ毎のカウントとトップページのカウントを合計したサイトへの総アクセス数が表示されます。
【その他】
- 細かい拡張機能がありますがご利用される中で色々試してみて下さい。
- KENT 式の Web Forum のログを変換してインポートすることが出来ます。
|
★ Forum Patioの特長
|
- 各スレッド毎に独立したログファイルを作成するため、Forum掲示板としてもサーバに負荷をかけず軽快な動作が可能です。
- スレッドは1つの話題ごとに作成され、誰でも自由に閲覧と返信を行なうことができます。
- Forum形式のトップページを表示するとき、表示画面データをキャッシュファイルに一時保存しておきます。その後何れかのスレッドに新しい投稿が無い間は次のHTTPリクエストにはこのキャッシュファイルから画面データを出力することにより、ファイルアクセスのディスクI/Oを少なくしてサーバ負荷を軽減しています。
- 各スレッドのツリー表示では投稿の参照関係を二本木構造で解析し、記事閲覧画面では各記事を枠で囲み、それらの親子関係をインデントと参照線で表示します。
- 文字カラーや参照記事情報などの新機能は、きりしま式のログデータ・フォーマットを踏襲して新機能項目のみ追加しているので、過去のきりしま式ログもそのままその新項目が空欄時のデフォールト値を持つ発言記事として表示されます。
このため、現在運用中のきりしま式掲示板に新しいCGIを上書きするだけで新しいForum Patioに移行できます。
- 単一会議室の掲示板を運用するときにも、複数会議室版を使用すればURLが"***.cgi"などではなく"***.shtml"という
穏やかな名前で公開できます。
また、デフォールト表示形式(例えばpatio.shtml)をindex.shtmlと名前変更すればサブディレクトリまででURLを公開できます。
- forum_patio_v120からは、配布される serverconf_sample.cgi というファイルを編集して自分のサーバ特有の設定をし、
serverconf.cgi というファイル名にしてアップロードしておくと、serverconf.cgi の設定が優先されるためCGIスクリプトの
アップデートがあっても配布された init.cgi を一々編集することなく、スクリプトを一括して更新できます。
- スクリプトに同梱されている shebang.cgi ファイルの1行目の #!/usr/local/bin/perl を自サーバの設定に編集してアップし、
このスクリプトをサーバのコマンドラインから実行するか、PCブラウザからアクセスすると他のCGIスクリプトファイルの1行目
(この行のことをシェバングといいます) を一括してこの値に書き替えます。これにより一々CGIスクリプトの shebang を編集
する手間が省けます。
|
★ Forum Patio の稼働に必要なサーバ環境
|
- Forum Patio は バージョン v1.32m/v1.32s より新時代の Web ページに必須とも言える UTF-8 (BOM無し) コードで記述され、掲示板を閲覧するときの HTTP 入出力文字コードも UTF-8 コードを標準としています。これにより PC フォントさえ対応していれば多国語対応が可能です。このため、Perl バージョンとして use utf8; をサポートする perl-5.6.1 以降がインストールされている必要があります。
- サーバの OS は Linux などの Unix 環境及び、Windows 環境いずれも動作可能です。
- 掲示板スクリプト一式のメモリ容量は約 1.6MB ですが、ユーザからの投稿を記録するログファイル領域としては、添付ファイルのアップロードを許可せずテキスト文字だけの掲示板で最低 10MB 以上、写真などの添付ファイルを許可する場合は .jpg ファイルの場合で 1枚当たり 数10KB ~ 数MBを見込んでディスク容量を確保する必要があります。
- ロボットによるスパム投稿を防止するため、数字4文字を画像ファイルで表示し、その数値を人がテキスト入力することによる投稿認証キーとして CAPUCHA
式の変形画像を用いる場合は perl に Image::Magick (PerlMagick) モジュールが必要です。
- 添付ファイルが画像の場合、画像は記事内に200x150ピクセル (このサイズは init.cgi で設定可能) ほどに縮小して表示されます。オリジナルのKENT本家やきりしま式では画像はオリジナルサイズで伝送し、縮小はブラウザが行っていますが、画像データが大きいとページデータの送信に時間がかかり閲覧操作が重たくなります。Forum Patio では v1.50 ~ から画像オリジナルサイズのデータを送るのではなく予め、サーバで 200x150 ピクセルほどのサムネイル縮小画面を作成してからデータを送信するのでページ閲覧をサクサク行うことが出来るようになりました。このサムネイル画像をサポートするためには、perl にImage::Maggick (PerlMagick) モジュールが必要です。
- 複数会議室版をご利用になる場合は、サーバが SSI インクルードをサポートしていることが必要です。
- CentOS で標準的に配布される perl モジュールには CGI.pm が含まれていないようなので、CPAN などから CGI.pm をインストールしないとサーバエラーになってしまいます。ご注意下さい。
|
★ ダウンロード
|
- プレビューで投稿取り止め時にエラーになる不具合を修正した Forum Patio v1.54 のダウンロード (2014/09/24)
v1.53のCGIでは新規スレッドを書き込み、その後プレビュー画面で「投稿を取りやめる」を押すと画面の下部に「Open Error: .cgi」が発生してエラーになってしまいます。このバグはその後管理画面でRSSフィードを作り直さないと通常のスレッド一覧ページでも発生して掲示板が閲覧できなくなります。これは投稿を取りやめたため実際には新しいスレッドが出来ていないのに、FEEDプロセスがそれを出来たものと認識して「新しいスレッドを5個表示」する時にそのログファイルが開けないために発生してしまいました。今回の修正は
regist.cgi で投稿取り止め時のときは RSSフィードを作り直さないようにしたことと、プレビュー後の戻りページから「スレッドを見る」ボタンを削除したことだけです。 投稿を中止したら見るべきスレッドは存在しないからです。 あと、
init.cgi 及び serverconf.cgi (配布版では serverconf_sampl.cgi) を一部修正しています。これらの
CGI はルート URL の直下に /cgi-bin が置かれている環境と サブディレクトリの下に /cgi-bin が置かれている環境を統合して
$cgi_url の設定を一元化したもので、設置時の設定変更を簡略化するものです。既に稼働している掲示板での差し替えは必須ではありません。
これらのバグを修正した v1.54 版をリリースします。 詳細は Forum Patio 掲示板の記事をご参照さい。(2013/02/14)
- 【緊急アップデート版】 サーバ停止の危険を回避した Forum Patio v1.53 のダウンロード (2013/02/14)
v1.52 以前のバージョンでは、検索ロボットなどからダウンロードするターゲットファイルをリクエスト・パラメータで指定せず、download.cgi をクエリーストリングス無しで直にアクセスされると
無限ループに陥ってエラーログを吐き続け、ログファイルがパーティション・フルになるまで増殖し続けるという危険がありました。他にもUTF-8文字列の出力で"Wide character in print"エラーが出る箇所、及び検索語のハイライト表示が記事本文中のキーワードでハイライト表示されないバグがありました。
これらのバグを修正した v1.53 版をリリースします。
詳細は Forum Patio 掲示板の記事をご参照さい。(2013/02/14)
- Forum Patio v1.51 の不具合を修正した Forum Patio v1.52 のダウンロード (2012/12/10)
v1.51 版では使用するサーバで使用するOSによってはファイルアップロードに失敗することがありました。また画像ファイルを記事内に表示するときサムネイルを作成する設定ではこのサムネイル画像が表示されないバグがありました。
これらのバグを修正した v1.52 版をリリースします。
詳細は Forum Patio 掲示板の記事をご参照さい。(2012/12/10)
- Forum Patio v1.50 の不具合と若干機能追加した Forum Patio v1.51 のダウンロード (2012/11/17)
v1.50 版で会員制会議室に投稿できない不具合を解消し、100MB 超の大容量ファイルを添付ファイルとしてアップロードできるようにしました。
また、Forum形式/Patio形式のスレッド一覧表示トップページに新着記事を表示して簡易型掲示板として使用できるようにしました。
詳細は Forum Patio 掲示板の記事をご参照さい。(2012/11/17)
- RSS フィード作成機能などの充実を図った Forum Patio v1.50 のダウンロード (2012/07/22)
v1.42 版で未完成だった RSS フィード作成機能を見直し、ビューカウンターとユーザカスタマイズできる CSS 設定、掲示板トップページに表示する予定表などユーザ定義関数を追加しました。
また、CGI.pm に潜在するファイルタイプ識別機能のバグにも対応。詳細は Forum Patio 掲示板の記事をご参照さい。(2012/07/22)
- 一部機能追加とファイルアップロード機能を強化した Forum Patio v1.42_r1 のダウンロード (2011/11/21)
v1.41 版におけるバグ修正と、ある記事への「返信」ラジオボタンでその記事のタイトルを引用参照する機能を追加しました。あと、大きなサイズのファイルアップロード・ダウンロード
でプロセスの使用メモリ量がパンクしないように修正しました。このためにアップロード時には CGI.pm を使用するように書き直しました。詳細は Forum Patio 掲示板の記事をご参照さい。(2011/10/18)
*追記:v1.42 版では記事投稿時にチェックボックス等の複数選択項目がある場合、最初の1項目しか取得できないバグがありましたので、v1.42_r1 の修正版に差し替えました。(2011/11/21)
- Forum Patio v1.41 のダウンロード (2010/12/22)
v1.40_r3 版では init.cgi 等にバグがあって文字化けが発生したり、他にも細かい不具合がありました。これらを修正し、かなりのテストを重ねてきた最新安定版をリリースします。なお、今回は
perl バージョンが 5.6.1 未満の場合にも適用可能な SJIS 記述版を追加リリースしています。(これは年末おまけバージョンですが、ご要望があれば今後もメンテしたいと思います)
- ページ分割した過去ログアーカイブ機能を追加した Forum Patio v1.40_r3 のダウンロード (2010/12/13)
(r2 版では perl バージョンが perl-5.6.1 未満の時、500 サーバエラーとなって perl バージョンの要件を満たさない旨のエラーメッセージが表示されない不具合があったため、リリース
r3 にアップデートしました。)
ページ分割した過去ログアーカイブ機能を追加した Forum Patio v1.40_r2 のダウンロード (2010/12/10)
ページ分割した過去ログアーカイブ機能を追加した Forum Patio v1.40_r1 のダウンロード (2010/12/05)
ページ分割した過去ログアーカイブ機能を追加した Forum Patio v1.40 のダウンロード (2010/12/04)
UTF-8/RSS/サムネイル画像/CAPTCHA式投稿キー対応 Forum Patio v1.36 のダウンロード (2010/04/13)
- CAPTCHA式スパム対策とサムネイル対応の Forum Patio v1.35 のダウンロード (2010/02/28)
CAPTCHA式スパム対策とサムネイル対応の Forum Patio v1.34a のダウンロード (2010/02/18)
CAPTCHA式スパム対策とサムネイル対応の Forum Patio v1.33a のダウンロード (2010/02/09)
- UTF-8化/RSSフィード対応、携帯電話閲覧強化版 Forum Patio v1.32 のダウンロード (2009/12/01)
- スレッドテーマと新規投稿の題名を分離、会員認証ログイン処理改善版 Forum Patio v1.20 のダウンロード (2009/05/13)
- FAQモード他バグ修正、管理機能/会員認証処理拡充の Forum Patio v1.15 のダウンロード (2009/04/30)
- スレッド削除/待避、新規スレッド抑制、FAQモード対応の Forum Patio v1.14 のダウンロード (2009/03/28)
- 携帯対応、BBCode対応版 Forum Patio v1.13a のダウンロード (2009/02/04)
(*注: init.cgiの一部とregist.cgiのBBCode表示修正のためv1.13から2つのファイルを差し替え済み)
- 携帯対応、バグFIX版 Forum Patio v1.12 のダウンロード (2008/12/31)
- 携帯対応、Forum Patio v1.11 版のダウンロード (2008/12/21)
- 複数会議室版 forum_patio_v1031m.zip のダウンロード (2008/11/20)
- 単一会議室版 forum_patio_v1031s.zip のダウンロード (2008/11/20)
- viewcount.datファイル操作の修正版 forum.cgiとread.cgi アップデート版のダウンロード (2008/11/20)
- 複数会議室版 forum_patio_v103m.zip のダウンロード
- 単一会議室版 forum_patio_v103s.zip のダウンロード
|
★ リリース・ノート (修正履歴)
|
● RSS フィード作成機能改善、ビューカウンタとユーザ定義 CSS とアプリ関数を追加した Forum Patio v1.5x をリリースします (2012/07/22)
修正、改良したところは以下の通りです。
- RSS フィード作成機能について、トップページの概要が空白だったり、投稿の修正・削除などで適切な RSS が作成されなかった点を修正し、
W3C の RSS フィード検証サービスに合格する RSS 作成機能とすることができました。
- スガラボットの Forum Patio トップページに以前から実装されていたビューカウンターを futomi's CGI Cafe さんの再配布許可を頂いて、今回から同梱してリリースすることができました。
このビューカウンタはカウント・インクリメント時にクルッと数字が回転する futomi's CGI Cafe さんのオシャレな
RevoCounter.cgi を掲示板用に改造したもので、各ページの ID を設定することにより、掲示板の各会議室のみでなく皆さんのホームページの各ページへのアクセスが個別に集計できます。
カウンタが表示されるのは Forum 形式、Patio 形式のスレッド一覧・トップページですが、トップページのみではなくメール通知などの URL リンクをクリックして
直接スレッド閲覧ページをアクセスしたときもカウントアップするようにしています。このカウンタはクッキーにより同じブラウザからのアクセスはアクセス後 6 時間はカウントアップしないようにしています。
各ページ毎に数字のデザインもカスタマイズできます。
- 今回からフルカスタマイズしたユーザのホームページデザインを可能とするため、ユーザ独自 CSS を設定し、ページのトップとフッターにも独自のヘッダー/フッター画像などを挿入できます。
また、SEO 対応のグーグル・アドセンスの表示位置もトップページの上部と下部が選択できるようにしました。これは、Forum Patio をご採用頂いた 「戦国史同盟」掲示板の
カスタマイズにご協力させて頂いた成果を反映したものです。CSS や jQuery 設定に関してはかなり高度な知識が必要となりますので、init.cgi (serverconf.cgi) のコメントアウトされた例などを参考に、十分研究してから適用するようにして下さい。
- 前項とは別に、掲示板トップページの上部にユーザ独自のコンテンツを表示できるようにユーザ定義関数を導入しました。これは、僕のホームページの会員制掲示板に仲間とサークルの集合日時を決める予定表を掲載し、メンバーの予定をアップロードして日程調整する機能を例として入れています。
例として、このページをクリックしてみて下さい。これは v150m の room2 掲示板を別ページとしてアップしたもので、ログインID=admin、パスワード=admin でログインして色々試してみて下さい。
なお、この予定表は「 カバの遊べるCGI・出欠掲示板」を一部改造して使用していますが、メンバー追加などの管理機能は含まれていませんのでご利用になるときは、「カバの遊べるCGI」3から、"officeio.cgi"と"kabalib.pl"をタウンロードして併用されることをお勧めします。
- v1.51 版から Forum/Patio 両形式のスレッド一覧表示ページで、スレッド一覧の下に最新の投稿記事を5個まで表示する機能を追加しました。また、100MB 超のファイルサイズをアップロードできるように添付ファイル処理ルーチンを改善しました。(2012/11/17)
- v1.52 版ではOSによってはファイルアップロードできないバグ、及び画像ファイルのサムネイル作成に関するバグを修正しました。(2012/12/10)
- v1.53 版ではサーバ停止の危険を招きかねない download.cgi の無限ループ対策、"Wide character in print" エラーの修正及び検索語ハイライト表示が記事本文中で機能しないバグを修正しました。(2013/02/14)
● ページ分割した過去ログアーカイブ機能を追加した Forum Patio v1.40 をリリースします (2010/12/04)
- 過去ログをページ単位に分割して閲覧と検索機能を向上しました。 これは、KENT 式 Wob Forum の過去ログ表示機能に準拠したものです。 どんどん発言が増えて過去ログがパンク状態になりそうな時、 init.cgi で設定した数のスレッド数単位に過去ログをページ分けして整理することにより閲覧や検索効率を向上できます。各々の過去ログアーカイブ・ページでツリー表示とトピックス表示の選択が可能です。また、各ページのトップにワード検索用の窓も用意しました。
- 過去ログ・アーカイブページは、使用中の掲示板に対して管理用のメニューから(再)構築することが出来ます。Forum Patio v1.36 以前のバージョンをお使いの場合は、v1.40 をインストールした後最初にこの処理を実行してください。過去ログアーカイブ1ページのスレッド数 ($past_page_max_tno) は現行ログのスレッド数 ($i_max) と同じ値がデフォールトですが、init.cgi (後々のCGIアップデートのために、実際には serverconf.cgi で設定されることをお勧めします。) で任意の値に設定できます。再構築時、現行ログのスレッド数が規定数 ($i_max) を超過したスレッドがあればこれを過去ログに落とすかどうか ($move2plog =1; のとき)、また規定数に達していない時に過去ログのスレッドを繰り上げるか ($plog_restore = 1; の時) を init.cgi で指定できます。デフォールト値は $move2plog = 1; $plot_restore = 0; となっています。現行ログから過去ログへのスレッド繰り下げをデフォールトとしているのは、現行の仕様では新規スレッドの投稿があった時に $i_max を超過した場合、現行ログの一番下位のスレッドから自動的に過去ログに繰り下げられることに準拠しています。過去ログ書庫アーカイブページを(再)構築する時、大事なな現行ログや過去ログに変更を加える場合は、自動的に直前のログファイルのバックアップを行います (./data/index1.dat → ./data/index1.dat.bak など) から安心です。再構築実行後ご確認の上、必要ならこれらのファイルを別の場所に待避してください。
- 各過去ログアーカイブのページトップからは、過去ログ全体を対称としたワード検索窓が用意されています。個々のページではなく過去ログ全体を対称としたのは、検索効率を高めるためにこの方が便利だからです。
- その他、以下の機能を追加修正しています。
- スレッド記事閲覧画面で画像などのファイルがアップされている時、本文記事より先にこれらの画像を優先表示するモードを追加しました。これは init.cgi
(serverconf.cgi) で $picture_up = 1; とすることで設定できます。(デフォールトは0)
- 投稿記事に YouTube の動画サイトを参照するタグが貼り付けられるようにしました。init.cgi で $youtube_tag = 1;
と言う変数を定義してデフォールトで ON にしています。実際の使用は YABUKOGI NET さんのサイトなどを参考に、ユーザの独自責任で研究してください。
- これまでブラウザで掲示板を表する時、最新の更新をいち早く表示するためブラウザのページキャッシュ機能を抑制する HTTP ヘッダを送出していました。但し、こうすると投稿フォームに原稿を入力した後、別のページを閲覧してから元のページに戻ると入力した原稿が消えてしまうので不便だという意見がありました。このため、init.cgi
で $html_cache = 1; と設定すると、ブラウザキャッシュが有効となるように設定項目を追加しました。
- Patio/Forum の両表時形式の画面から他方の表示形式画面に変更する時、これまでこのリンク名は「Forum形式で表示/Patio形式で表示」と言う固定パターンでしたが、ご要望により「ツリー形式で表示/トピックス単位で表示」など個別に設定できるようにしました。夫々、init.cgi
(serverconf.cgi) の $use_forum_menu 、$use_Patio_menu の項目にこれらの値を設定できます。(設定されてない時は従来通り。)
- Patio/Forum 両形式のトップ画面の一番下にユーザ固有のフッターを追記できるようにしました。init.cgi (serverconf.cgi
を推奨) の $footer 変数にこれらの内容を HTML で記述してください。デフォールトでは空ですが、独自フッターを設定する時は $footer
= >>"EOM"; の行から EOM の行まで行頭の"#" を削除して、その間に任意の
HTM コードを記述します。
- これまでに潜在していたいくつかのバグ修正
- スレッド閲覧のツリー形式表示画面へのリンクで上矢印△をクリックした時、v1.16 ~ のバージョンでうまくツリー逆順表示が出来なかった不具合を修正しました。
- 単一会議室バージョンなどに時々あった掲示板へのリンク切れ修正
- v1.40 バージョンご利用時の注意事項
このバージョンから、掲示板各ページ間に張るリンクを表示する時に使用する CGI スクリプト名とスクリプトに渡すパラメータを含む変数の形式を以前のバージョンとは変更しています。このため、v1.40
バージョンのスクリプトと以前のバージョンのスクリプトを混在使用するとページ間のリンクが無効になって "NOT FOUND"
が表示されることがあります。v1.40 バージョンをご利用になる場合は、以前のバージョンのスクリプトと混在利用しないようご注意ください。
● UTF-8/RSS/サムネイル画像/CAPTCHA式投稿キー対応 Forum Patio v1.36 をリリースします (2010/04/13)
- PCブラウザ及び携帯電話のどちらから閲覧したときも、添付ファイルをサムネイル化した小さなファイルとして表示するようにしました。デフォールト設定では
PC ブラウザ閲覧時、画像の長辺が 200px、携帯からの閲覧時は 96px に設定しています。
- FireFox v3.6 1st リリースバージョンのバグ対応もあって、投稿認証キーとして従来の GIF 画像 4枚合成の画像から、Captcha
式 (デフォールトでは同じく数字4桁) の一枚画像による認証画像が使用できるように改良しました。この認証方式はサムネイルのために導入した Image
Magick を利用したもので パソコンおやじ さんの
「CAPTCHAによるBBSスパム対策」 で公開されている CGI を許可を頂いて再配布しています。
- 日本語添付ファイルの文字化けを修正しました。今回のバージョンは HTML 文字コードが SJIS/UTF-8 の如何に関わらず Windows
PC の日本語文字 (SJIS) に対応できるようにしたつもりです。 UTF-8 のエンコードと URL_Encode を見直しました。 Mac/OS
や Linux OS にも対応できる汎用化はまだですが、今後の検討と致します。
- その他、複数会議室版の個別会議室設定ファイルの名称変更 (セキュリティ向上対策) や過去ログ閲覧時のなどv1.32 でデグってしまったバグ (過去ログ表示など)
について修正しています。
- v133パージョンには携帯電話からの閲覧時、記事表示数が設定値通りにならないバグがありましたので v133a に差し替えました。
(2010/02/12)【以下は v1.33 → v1.34】
- serverconf.cgi 等で会議室を任意のディレクトリに設定したとき、サブディレクトリでもないのに init.cgi があとから勝手にディレクトリを変更していた不具合を修正しました。(かにかにさんに感謝)
- 携帯電話からの閲覧時、1 ページの閲覧記事数を 1 に設定してしても複数表示されるバグを修正しました。
- 同じく携帯電話から閲覧時、スレッド表示画面の親レスタイトルに携帯電話で表示できない RSS フィードが表示されるバグを修正しました。
- 投稿フォームで添付ファィル・画像を選択する「参照」ボタンの横に、先に選択したファイルをキャンセルする「クリア」ボタンを追加しました。
これは通常ではページ全体を再描画しない限り、セキュリティ上の理由でOSが一旦入力したファイルの値を削除できない仕組みになっていることに対処したものです。
記事本文などを記入後に気が変わってファイル添付を取りやめたいときに不便ですから。
(2010/02/28) 【以下は v1.34 → v1.35】
- RSS フィードに表示される投稿記事のサマリが規定の250文字ではなく4文字しか表示されなくなっていたバグを修正
(2010/04/13) 【以下は v1.35 → v1.36】
- 新規スレッド投稿時、原稿ログの最大数に達していたときに最下行のスレッドを過去ログに移動する処理のバグを修正
- Image::Magick モジュールがインストールされていないサーバで、閲覧ページの縮小画像が表示されなかった不具合を修正
● UTF-8化/RSSフィード対応、携帯電話閲覧強化版 Forum Patio v1.32 をリリースします (2009/12/01)
- 今回の CGI スクリプトは UTF-8N で記述され、デフォールト設定では UTF-8 エンコードで ログを記録し、HTML出力するようにしています。エンコードの種類は
SJIS/EUC-JP/UTF-8/ISO2022 の指定が可能です。携帯電話からのアクセスがあったときは、携帯電話の多くが UTF-8 に対応していないことから、HTML
入出力を SJIS に自動的に切り替えます。ログファイルの文字コードはデフォールト通り UTF-8 で設定することをお勧めします。
- 従来から Web Patio または Forum Patio で掲示板を運用されているときは、まず従来からのログを SJIS → UTF-8
にコード変換するツールでログの文字コードを変換します。この操作は、一々ログファイルをエディタで開いて修正することなく、端末のブラウザから fileConver.cgi
というスクリプトを実行することにより簡単に行えます。古いファイルはバックアップされますから安心して使用することができます。
- RSSフィード としては新規投稿または記事の更新があったとき、 Patio 形式/ Forum のトップページに対応したRSS1.0/RSS2.0/ATOM1.0
ファイルを静的に作成します。 また、各スレッドの一覧表示/閲覧ページからはそのスレッドに関連するトピックスのみを表示する RSSフィード情報をダイナミックに生成します。なお、携帯電話からのアクセス時には
RSS フィードへのリンクは表示しないようにしています。
- 運用中の掲示板については、まず 1.~2. に従ってログの文字コードを変換した後、トップページからチェックモードで会議室の設定状態を確認するときに、FEEDログファイルがなかったときはに自動的にこれを作成するようにしています。
また、管理用のページから、FEEDログとRSSフィード・ファィルを作り直す機能も追加しました。 FEED ログファイル を削除してから RSS
フィード・ファイルを作り直すと FEED ログファイル自体も作り直しますが、FEED ログファイルに記録されていている Publish 日時が削除され、全ての発言が最終更新日付のみになってしまうため、バグがあったときなど以外はあまりお勧めできません。
- 今回のバージョンから、新しいスレッドを生成するときに スレッドテーマと、スレッド親発言のタイトルを分離して、各トピックスのテーマをより鮮明にアピールする設定をデフォールトにしています。既存のスレッドについても、スレッド元発言の題名とは別にスレッドテーマを別に設定するように修正できます。
- メモリ容量の小さい携帯電話からの閲覧がスムースに行えるよう、記事を一つずつ閲覧できるモードを追加しました。この閲覧方法に便利なように、Patio
形式のトップページから指定したスレッドの記事一覧表示ページへのリンクを追加しています。
- v1.30β として仮配布したバージョンで採用した 検索ワードのハイライト表示機能を トップページ/スレッド記事一覧ページ/閲覧ページの全てに適用しています。複数の検索ワードに対して
AND/OR での検索が可能です。
● スレッドテーマと新規投稿題名を分離、会員認証ログイン処理改善版 Forum Patio v1.20 をリリースします (2009/04/30)
- 新規スレッドを建てるとき、スレッド全体のテーマ設定と最初の投稿の題名を分離して別設定できるようにしました。
この機能を一般ゲストにも適用するか管理者だけが設定できるかを init.cgi の $thread_theme パラメータで設定します。
管理者のみ設定の場合は、管理用のページに新規投稿のリンクが表示されます。
既存のスレッドについても、スレッド元発言の題名とは別にスレッドテーマを別に設定するように修正できます。
- 会員制の会議室とした場合、ログイン有効期限が過ぎて再ログインしたとき、認証により中断された直前のHTTPリクエストを
継続して処理を続行できます。v1.15でも本機能は実装しましたが、hi-hoでも適用可能とするなど処理を改善しました。
- サーバメンテ中などに書込禁止モードを設定したとき、スレッドの返信FORMを表示せず、代わりににメンテ中のお知らせ
メッセージを表示するようにしました。(Thanks to YOU さん)
- Forum Patio でツリー表示しない設定にしたとき、一部残っていたツリー表示関連のリンクを表示しないように修正しました。
- v1.15 でリリースした serverconf.ini はセキュリティ上の理由から ファイル名を serverconf.cgi に変更しました。内容に変更はありませんが以前作成された serverconf.ini をお使いの折は ファイル名を serverconf.cgi にリネームしてご使用下さい。
● FAQモード他バグ修正、管理機能/会員認証処理拡充の Forum Patio をリリースします (2009/04/30)
- きりしま式_3.22_k0.92相当の各追加機能に対応しました。
- 管理者以外がスレッドを作成できなくなるオプションを追加。本機能はinit.cgiで $createonlyadmin=1;に設定することで機能します。
patio.cgi、forum.cgiのトップページに[新規テーマで投稿]リンクがなくなり、[新規テーマで投稿] は管理用ページ (パスワード必要)
に表示されます。
- FAQモード (スレッドが常にトップページの上位に表示され、記事の露出度が高くなります) に対応しました。
但し、トップページに表示される ICON は"?"付きのフォルダマークではなく、書類が半分見え隠れするタイプです。
- 新規スレッド作成時のテンプレート展開、Google AdSense の有効/無効化、rel=nofollow などに対応済みです。
- 掲示板の設定パラメータを確認するための setting.cgi へのリンクを各会議室の留意事項ページに用意しました。
- 過去ログリンクのURL調整は元々少し形式が異なっているため対応していません。
- 管理用ページの機能を拡充しました。
- スレッド削除時に完全削除するか、退避ディレクトリに移動させるかを init.cgi で設定できます。待避保存を設定した
時は、管理用ページから退避スレッドの閲覧が出来ます。 その後、退避ディレクトリからの完全削除、過去ログへの
復帰などの選択が可能です。
- 以前もありましたがスレッドの分割・連結、またスレッド番号の改番機能を充実しました。分割・連結などにより
スレッド・記事番号が移動したときは、当該記事を参照する他スレッドの参照リンクも一括更新します。
- スパム投稿などを削除したとき、進んでしまったスレッド番号を戻せるようにしました。
- 会員メンバー制会議室の処理を改善しました。
- Web Patio などの会員制会議室のログインは、必ず patio.cgi のトップページを表示させてから、クリックして
スレッド記事などの閲覧をするようになっていますが、他のメールやホームページから記事へのURLをクリックした
時は、ログイン認証した後、直接当該記事が閲覧できます。
- ログイン制限時間を超過してアクセスしたとき、従来はログイン認証で処理が中断されて始めからやり直しでしたが、
改善後はログイン認証後、前の処理を継続できるようにしました。 例えば新しい記事を投稿したときなど、認証がOK
であれば、投稿した記事はそのままアップロード処理が受け付けられます。
- CGIスクリプト更新時などのサーバアップデート処理を簡易化しました。
- init.cgi とは別に自サーバの severconf.ini を設定しておくと、配布されたファイルをそのまま上書きしてもサーバが
正常に動作します。 これにより、配布される serverconf_sample.ini を編集してリネームして一度アップすれば、
更新時配布される init.cgi や serverconf_sample.ini を気にすることなく、ファイルアップロードすることが可能です。
- shebang.cgi というファイルを同梱しています。 このファイル1行目の #!/usr/local/bin/perl などを適宜編集して
サーバにアップロードし、/cgi-bin/shebang.cgi をアクセスすればそのディレクトリ内の全 xxx.cgi ファイルの 1行目
が全て同じものに修正されます。 (シュバングの一括修正)
● v1.14m/v1.14s スレッド削除/待避、新規スレッド抑制、FAQモード対応の Forum Patio をリリースします (2009/03/28)
- 新規スレッドは管理者しか投稿できない機能を追加 (きりしま式0.81対応)
- 本機能はinit.cgiで $createonlyadmin=1;に設定することで機能します。
- patio.cgi、forum.cgiのトップページに[新規テーマで投稿]リンクがなくなります。
- [新規テーマで投稿] は管理用ページ (パスワード必要) に表示されます。
- 新規テーマ送信時にFormで入力したパスワードが管理用パスワードと一致しないとエラーになります。
- 管理用ページで「スレッド削除」した時、本当に削除するか別ディレクトリに待避保存するかを init.cgi で選択設定できます。(ご本家v3.22対応+α機能)
- 本機能は管理画面でスレッドを選択すれば添付ファイルも含めて一括処理されます。
- 別ディレクトリへの待避保存を設定した時は、管理用ページから待避保存したスレッドの閲覧が出来ます。これは過去ログ閲覧と同様の方法で操作できます。
- 管理用ページから削除待避ログ・メンテナンスを選択して、「スレッド削除」を行うと、選択されたファイルは完全削除されます。
- 管理者が指定したスレッドを優先的に上の方に表示するFAQスレッド機能を装備しました。(きりしま式V0.9で対応予定)
- FAQ化したスレッドは管理者メッセージより下、一般スレッドより上に表示されます。
- 管理用ページから「現行ログ・メンテナンス」に行きスレッドを選択して、「FAQスレッド化をON/OFF」を送信することにより、スレッドをFAQスレッドに設定/解除できます。
- FAQスレッドを表示するフォルダ・アイコンは「きりしま式」がリリースされた時点で同じものに合わせることにします。
- 迷惑書込みの予防を期待して外部URLリンクに rel="nofollow" 属性を追加しました。(きりしま式K0.81対応)
- これによりゲストが掲示板に書き込んだ外部URLリンクがGoogleやYahooで参照されたURLの検索順位を上げる効果が無効となります。
● v1.13m/v1.13s 携帯電話およびBBCodeに対応した Forum Patio をリリースします (2009/01/19)
- XOOPSフォーラムなどで使われているBBCodeが投稿記事に使用できるように改造しました。BBCodeは投稿の題名と名前及び本文記事に使用可能です。
- 使用できるBBCodeは[img]と[mail]以外のほとんどをカバーしています。使用方法や詳細な説明は同梱されているnote_bb.htmlを参照して下さい。
- BBCodeからHTML変換への有効/無効はinit.cgiで設定できます。また無効にした時、記事表示や返信投稿フォームの引用中にBBCodeの記述を隠す様にも設定できます。
- forum.cgiをサービス中の掲示板で更新した時、dataディレクトリ内の"fcache_pN.txt"、"fcache_kpN.txt"および"viewcount.dat"ファィルを削除することを忘れないで下さい。
forum.cgiを更新しても古いキャッシュファイルが残っていると画面が更新されず、CGIの更新が反映されません。
● v1.12m/v1.12s 携帯電話対応 Forum Patio をリリースします (2008/12/31)
- 基本的な機能は先のv1.10~v1.11殆ど変わりません。Forum形式でスレッドの数が多い時トップ ページが複数ページにわたると閲覧数が空欄になってしまうバグを修正しました。複数ページにわたる時のviwcount.datファイル作成方法の問題で
した。
- もう一つ、トップページで最新記事をクリックした時、いつも最新記事が画面トップに来るようにユーザ・インターフェースを整えました。
- あと、CGIファイルをダウンロードして頂いた皆さんにご注意頂きたいことが一つあります。それは forum.cgiをサービス中の掲示板で更新した時は、各会議室のdataディレクトリ内の"fcache_pN.txt"、"fcache_kpN.txt"および"viewcount.dat"ファィルを必ず削除することです。
forum.cgiを更新して処理を修正しても古いキャッシュファイルが残っていると画面が更新されず、CGIの更新が反映されないからです。
● v1.11m/v1.11s 携帯電話対応 Forum Patio をリリースします (2008/12/21)
- 三週間ほど前に携帯電話対応の v1.10 ベータ版をリリースしましたが、テストを繰り返してほぼ満足できるパフォーマンスが確保できましたので一応v1.11版として正式にリリースします。今回は携帯電話からページを閲覧できるだけでなくForum形式の閲覧ページではKent本家のWeb
Forumのに準じたユーザ・インタフェースにしましたので、これまでWeb Forumを使用してきた人が違和感を覚えることなく使用して頂けると思います。
- 携帯電話はAUとウィルコムの端末でテストしましたが、かなり古い機種以外は他社の携帯でも閲覧するのに大きな問題はないと思います。携帯電話からのアクセスはHTTP_USER_AGENTから端末のブラウザ名を取得して表示方法を切換えています。しかし一部の機種ではこの判定がうまく動作しないかも知れません。また僕の持っていた携帯電話のブラウザではWebでファイルをアップロードすることが出来なかったので、携帯からのアクセスでは投稿フォームに画像アップの項目は削除しました。また、閲覧ページでの枠入り返信記事のツリー表示は抑制しています。
- 携帯からの閲覧に特化して、ページのコンテンツ量を縮小することはしていませんのでその点はご了承下さい。
- v1.11版での変更点は以下の通りです。
- 記事の単独表示、投稿時間による昇順/降順表示、ツリー全体と部分枝の正順/逆順表示など表示形式を自在に選択できるリンクボタンを用意しました。
- 常に選択した記事が画面トップに表示される配置にして、ビューをサクサク選択できるユーザ・インタフェースにしました。
- 徹底したテストで潜在バグを出来る限り排除しました。まずまず使えるCGIに仕上がってきたと思います。
- Forum 形式の閲覧ページでは 単独記事を選択したとき 本家 Web Forumの表示方法に準じて返信フォームに参照する記事の題名と本文を引用して、フォーラム返信の効率化を図りました。
- 本文の表示色は投稿者毎に前の記事に使用した文字色をクッキーに保存して、デフォールトの「自分色」を提供します。
- 一部の携帯ブラウザでは表を閲覧したときセルに背景色が付かないため、白抜き文字が読めないことがあります。このためオリジナルで薄色の色文字表示は黄色に変更ましたが、これでも見にくい場合はinit.cgiで$color6の値をもっと濃い色に設定して下さい。
- その他細々した改良を重ねています。ご使用になって、使い勝手等に関して感想を頂ければ幸いです。
- それでは、スガラボット版 「Forum/Patio」両方式表示切り替え・複数会議室・携帯対応掲示板CGIをご愛用下さい。
● v1.031m/v1.031sに関する修正点 (2008/11/20)
- viewcount.datの扱いについて一部当初の目論見通りでないところがありましたので、 forum.cgi と read.cgi をアップデート致します。
- 変更点は以下の通りです。
- forum形式のトップページ表示のとき、キャッシュファイルを作り直す初回のアクセスで閲覧数が表示されないバグがありました。
- また、pario形式のトップページのみお使いになる方でviewcount.datがないときは、 read.cgiでもviewcount.datを作成しないようにしました。patio形式でご使用されるときはこれで以前のバージョンと同等の動作となったと思います。
- 修正した forum.cgi と read.cgi セットにしたバージョン v1031m/v1031s も同時にリリースしました。
● v1.03m/v1.03sに関する修正点
- 今回、v1.03m/v1.03sとして複数会議室版、単一会議室版共にリリース版と殆ど同じ条件で動作するサーバを用意してテストしたことにより、今回のバージョンはこれまでより安定に稼働するバージョンとなったと思います。何かバグやご感想等ございましたら、このホームページ併設の掲示板でご報告頂ければと思います。
- v1.03m/v1.03s での変更点を以下に記します。
- 一部の環境で投稿時に「不明な処理です」と表示されるバグを修正しました。
- 会員認証を行う掲示板でクッキーがうまく処理できず、閲覧できないバグを修正しました。またレス通知メールなどでスレッドを閲覧するURLをクリックしたとき、認証画面からすぐに目的のスレッドにアクセスできるようにしました。
- Forum形式のトップページにもスレッドの閲覧数や添付ファイルの有無を表示して、Patio形式のトップページと同等以上の情報量を表示できるようにしました。
- ./logディレクトリにスレッド毎の閲覧数を記録している $no.dat を一つのファイルに集約し、トップページを閲覧する毎に1ページのスレッド数
(10~20個) のファイルをオープンしていたサーバのIO負荷を軽減するようにしました。但し、従来バージョンのログと互換性を確保するため、$no.dat
ファイルもそのまま残しています。
|
★ Forum Patioの設置方法
|
- まず Kent Web さんの Web Patio の解説ページを参照して下さい。
- このページの「■ プログラムの修正」欄 init.cgi をエディタで修正などを行って頂くと、単一会議室版の 「Forum Patio」 は動作し始めるはずです。 但し、スガラボット版は Web Patio から色々な機能を追加していますので、各々の機能についてはダウンロードされたinit.cgiファイルのコメントを参照してご自分の掲示板向けにカスタマイズして下さい。
- 一例として Web Patio では $image_upl=1; とすると親記事に画像をアップロードできるように設定しますが、Forum Patio
ではこの値を"2"に設定すると返信記事でも画像だけでなく各種ファイルがアップロードが出来るようになります。また、アップロードできるファイルの種類は
$file_type で定義しています。
- その他詳しい Forum Patio の設置方法は init.cgi の冒頭コメントに詳しい説明がありますのでダウンロードしたファイルを解凍してご参照下さい。
- 複数会議室の設置方法
- 多くのプロバイダはSSIのExecはセキュリティ上許可しないため、SSI Include機能を利用しています。
- 自宅サーバでなど実験する時は httpd.conf の <Directory> タグで Option ディレクティブに Includes ExecCGI などを追記します。
- 同じくhttpd.confの <IfModule> タグに AddType text/html .shtml, AddOutputFilter
INCLUDES .shtmlなどの記述が必要です。
- 従来設定との互換性をとるため、まず従来通りのinit.cgiデフォールト設定を一度読み込み、
もしSSI起動による複数会議室構成となっているときは、その後各会議室のroomNini.cgiでパラメータを上書きしています。
- 複数会議室の設置には会議室の親ディレクトリ (例:/bbs) の下に会議室名を roomN とするとき '/roomN'
ディレクトリを置きます。
- 各 'roomN' ディレクトリには 'roomNini.cgi' という設定ファイルと 'roomNnote.html' という会議室毎の留意事項、
及び patio.shtml, forum.shtml, read.shtml など各会議室に共通のSSIファイルを置きます。
- 各会議室のデータディレクトリ (/data ,/log ,/ses ,/upl) は 'roomN' 名ディレクトリの下に置きます。
- CGIプログラムは起動元となる各会議室からの shtml ファイルの URL を HTTP リクエストからパースして読み
取り、どの会議室の処理を行うかを決定します。
- 掲示板設置状況の確認は、複数会議室の場合 /HOME_ROOT/bbs/room1/patio.shtml?mode=check 単一会議室の場合 /HOME_ROOT/cgi-bin/patio.cgi?mode=check とチェックモードでアクセスして下さい。各ディレクトリのパーミッションや会議室の設定パラメータが表示されます。
- その他の設置方法についてはきりしま屋さんの Web Patio のページをご参照下さい。
- Web Forum のログを変換して本掲示板にインポートすることが出来ます。詳細についてはこちらをご覧下さい。
|
★ 利用規定
|
- このスクリプトはKENTさんの Web Patio ときりしま式 Web Patio をベースに改造したもので、KENTさんの 再配布の規定 に則って再配布をしています。 KENTさんの CGIスクリプト利用規定 に従ってください。
- きりしま式の使用にあたっては、オリジナルから付加される規定も削除される規定もない旨記載されていますが、最新のきりしま屋さんのページでご確認下さい。
- スガラボットのForum Patioの使用についても、オリジナルから付加される規定も削除される規定もありません。オリジナルの規定に改訂があった場合は、速やかにそれに従うものとします。
- 下部の著作権表示の「スガラボット版」を「Sugarabotto Edition」等英語表記にすることは可能です。 無断で表記を変更・削ることはお控え下さい。
|
★ 動作サンプル
|
- このホームページに併設のスガラボット版 Forum Patio の掲示板をご覧下さい。
- 最新スクリプトで動作中のため、配布アーカイブと仕様が違ったり、バグがあって正常動作しないかもしれません。
- 最新の配布版よりも一部改造しています。改造箇所は以下の通りです。【ビュー・カウンタ表示】
- 掲示板トップページで右上に表示されるビュー・カウンタ表示が追加されています。
- このカウンタは futomi's CGI Cafe (http://www.futomi.com) のRevoCounter CGI(アニメーションカウンター) Ver 1.3
を相当大幅に改造して使用しています。改造内容は閲覧するページ毎のカウントと掲示板の場合、トップページと記事閲覧ページ
両方のリクエスト回数を合計してトップページにまとめて表示するというものです。
- futomi's CGI CafeさんがCGIの再配布を許可していないため、このForum Patioのアーカイブに含めておりません。
- 各ページのビュー毎にビューをカウントすること自体は futomi's CGI Cafe さんの権利範囲ではないと思いますので、
ご要望があれば表示形式を一般化したカウンタを組み込むことも検討させて頂きます。
|
★ ログファイルの構成
|
- 基本的に「きりしま式」 Web Patio のログの構造を変更せず、新しい機能項目を追加した内容となっています。
- トップページの目次となる /data/index1.dat に変更はありません。(index2.datも同様)
- /log/n.cgi については以下の修正・追加を行っています。 ( きりしま式の http://kirishima.cc/patio/patio3.html
では最末尾に [ID] が追加された「計画」版を参照しています。)
- 1行目に変更はありません。
- 2行目と3行目は返信にもファイルアップロード機能を追加したため同じ形式にしています。最初の記事番号 [N] はスレッド元発言は "0"、返信は
"1"~で採番されます。返信記事が削除されて飛び番になっても元の番号は変わりません。
- 最末尾の [ID] の右に 本文記事の文字色指定 [#XXYYZZ] を追加しています。
- その右に ツリー返信投稿が参照している親発言の記事番号 [N] を入れています。 この情報がツリー構造を決定します。
- 13~15列目に3つある [.画像nの拡張子],[横],[縦] はアップロードされたファイル情報項目としてこの右側に2項目を追加しています。最初が [ファイル名]、次が [ファイルの標題]です。 ファイルは/upl/ディレクトリでは記事のタイムスタンプの数字で記録されているため、ダウンロード要求があった場合に元のファイル名を復元するために最初の項目を使用します。
次は記事を書き出すときそのファイルの標題(タイトル)として使用しています。 これらの項目を追加した結果、 新しいファイル情報項目は [.画像nの拡張子],[横],[縦],[ファイル名],[ファイル標題] となりました。アップロードされたファイルが画像のときは [横],[縦] のサイズに縮小表示し、画像でないときは これらの項目は空欄となりダウンロードアイコンが表示されます。
- Forum 形式のトップページ表示でサーバ負荷を軽減するためにツリー式スレッド一覧の表示内容をキャッシュファイルに保存し、forum.shtml/forum.cgi
にアクセスがあったときはこのキャッシュファイルを使用することによって 開くファイルの数を最小限にしています。同様に各スレッドの閲覧数も、従来のように
log ディレクトリの n.dat を一々開くことなく、data/viewcount.dat に並行して記録しています。
(v1.03以降)
- RSSフィードを作成するため、投稿の発行・更新履歴を記録する data/feed.log ファイルを追加しました。 (v1.32以降)
● これらログファイルの構造は別ページで参照できます。
|