B.Forum - スレッド式フォーラム
1. B.Forumについて
1.1. 概要
B.ForumはUNIXに適した,シンプルでありながら,無限の機能拡張,強力,高速かつ高運用性を目指したオープンソースソフトウェアです.
一般に多く見られる汎用性の無い,デザインも固定され,基本設計の悪いCGIとは異なり,一つのソフトウェアとして導入/運用が可能です.一般的なスクリプトでは,CGIの解説書に書かれているサンプルコードであるかのように,設定変数をスクリプト中に設けたり,コード中にHTMLタグをコーディングしたりと,デザインの変更は常にスクリプトを壊す危険を伴い,プログラマで無い一般のデザイナがデザインを容易に変更することも出来ません.またログファイルは無計画なフォーマットで,同じスクリプトであってもバージョンが異なると互換性がなかったりと明らかにプログラマのレベルの低さに利用者が振り回されています.
B.Forumは全てのデザインは外部ファイルとして読み込み,さらには単純なHTMLの文法通りに記述するだけでオリジナルのデザインのシステムを構築できます.これはコマーシャルなサイトでは非常に重要な項目であり,さらには管理/運営の手間が軽減されます.B.Forumでは標準で最低限の動作が出来るようなデザインファイルを添付していますが,これはただの見本であり,各自で自由にデザインしてもらう事を前提にしたものです.デザインを変更するのにスクリプト本体には一切手を入れる必要が無いのです.さらにはログファイルは汎用性に富んでおり,その実例としてNamazuによる検索への対応が挙げられます.またプラグイン機能を使用する事で,各種データベースをバックエンドに動作させる事も可能です.
さらには大きなサイトでは複数のフォーラムを設置する場合も多いと思いますが,設置数だけプログラムを設置したのでは,管理/運営に手間がかかり,さらにはデザイン変更が加わればバグを引き起こす原因にもなります.B.Forumでは一つのコードで複数のフォーラムを全く別のものとして設置でき,さらには設定/デザインまでもが共通にも独自にも行えます.
こうした高機能ソフトウェアの多くは非常に処理が重く,サーバに多大な負荷を掛けることも少なくないのですが,B.Forumでは開発時にコード一つを変更する度に実行速度/負荷を測定し,高速化に対しても非常に多くの時間を費やしています.その成果は開発版の公開初版(0.99.0035)に比べ,現バージョンで約2倍の高速化を達成しています.さらには同様の他ソフトウェアも検証し,客観的な検証も行っています.
B.Forumの設計方針はリソースを最大限に活用する事です.速度のボトルネックとなるのは大半の場合,Perlによる文字列解析です.そこでこうした処理を極力行わなくてすむように1記事1ファイル形式で必要部分の抽出をOSに依存したり,行指向ファイルを活用する事でPerlの得意分野である変数型を使用し,さらには速度のボトルネックとなるファイルのI/Oを減らすため,メモリを使用してキャッシュを行ったりといったアルゴリズムを使用する事で,B.Forumで扱える記事数は実質物理限界まで無制限で伸ばす事が可能になりました.
1.2. 安定版
安定版(Release)とは,開発版(Beta)に対する名称であり,バグが無いという保証はありません.新機能の追加や,コードの修正が行われた際は,開発版としてしばらくテストが繰り返され,その結果バグが見つかればさらに修正をし,実用に耐えると判断されるとある時点の状態を安定版として公開されます.
1.3. 開発版
開発版の配布は,多環境での動作確認と,新機能のプレビューを目的に行っています.
そのため,出来る限り動作報告や新機能についての意見,改良点等を積極的に行っていただく事を望んでいます.もし新機能の追加を希望される際は,十分な検証を行ったコードのパッチを開発へお送りいただけば開発版へ実装されることもあります.パッチは最新の開発版で適用できるようにしてください.
1.4 使用方法
B.Forumは設置してすぐに運用というお手軽ソフトウェアではありませんので,使用方法をしっかりと理解してから運用を開始してください.そうで無いと運用が開始できないばかりか,もし運良く動作しても支障が出たり,運用で思いもよらないトラブルに悩む事になります.
最低限の使用方法はウェブで公開されています.このREADMEに書かれているのは最低限の内容であり,必ずウェブのドキュメント類に目を通してください.
またセキュリティを維持するためにも定期的にウェブを確認してください.
>> http://www.beetas.org/
1.5. サポート
B.Forumはオープンソースウェアです.問題が起こった際は,各自で解決する事を目的にソースの公開をしているので,ソースを修正してご利用ください.また,問題の解決になるヒントを得るには,BEETAS.orgのサポートフォーラムかB.Forum MLをご利用ください.
バグを発見された場合は,バグ報告フォーラムへお願いします.
>> http://www.beetas.org/Support/
1.6. B.Forum ML
B.Forumでは開発やサポートにB.Forumを使用したサポートフォーラムを運営してきましたが,利便性を考えてメーリングリスト(ML)も設置する事にしました.
B.Forumでは閲覧だけ可能なMLは簡単に運用できますが,投稿については現在プラグインの開発中です.いずれMLとサポートフォーラム(Web)は一体化する予定です.
参加は自由ですので,遠慮なくご参加ください.
- 情報交換
- 相談(インストール/運用)
- 開発(要望/バグ報告)
- etc...
>> http://www.beetas.org/B.Forum/ML/