EasyBBS は MacOS の Web サーバー上に会議室(掲示板)を構築するためのフリーウェア CGI です |
田中求之(mact@antares.ecn.fpu.ac.jp)
EasyBBS DX 5 | AppleScript による CGI |
EasyBBS SR II | AppleScript による CGI (ユーザー定義アクション利用) |
EasyBBS EX 2 | FaceSpan によるアプリケーション版 |
EasyBBS RB | REALbasic による EasyBBS simple の移植版 |
EasyBBS PX | DX III の Perl への移植版 |
EasyBBS PYN | DX III の Python への移植版 |
EasyBBS ++ | アプリケーション版(PowerPC Native) |
EasyBBS PI | W*API Plugin 版 |
EasyBBS DX および EasyBBS++ は、MacOS のWeb共有でも利用できます
関連する話題として、以下のページで、Web 会議室(掲示板)のコミュニケーションに関する以下のようなページもあります。
技術評論社が発行していた「The BASIC ざべ」に AppleScript によって会議室システム用の CGI を作る方法について解説した記事を書いたことがあります。技術評論社の許可を得て、記事の原稿の PDF 版を公開しますので、よかったらご覧ください。ただし、会議室の基本的な機能だけを取り上げて説明したものになっています。
また、このページの最後にも、「EasyBBS における会議室システムの考え方」という簡単な文章を載せてあります。
EasyBBS DX
AppleScript の CGI です。基本的には、AppleScript によって会議室システムの CGI を作る場合のサンプルとして提供しているものです。スクリプトになっていますので、自分なりにカスタマイズして使用することができます。
*WebSTAR、Web 共有、Quid Pro Quo で動作確認済み(MacHTTP では使えません)
以下のような機能を実装したものになっています。
メール送信機能の設定用ソフトウェア(DX Setter)を同封してあるためにパッケージのサイズが大きくなってしまっていますが、この機能が不要だという方は、以下の基本パッケージをお使いください(スクリプトは一緒で、DX Setter とメール送信機能の設定方法の文書が入っていないものです)。
スクリプトに細かくコメントをつけたものを用意してあります。改造などの参考にしてください。
*少し前のバージョンですが、基本的な構造などは同じです。
ユーザー定義アクションを利用することによって、会議室毎にサーバーの REALM によるアクセス制限を加えられるようになっています。
また、NetCloak のような Backend-CGI の機能を持った他の CGI ツールと組み合わせることができるようになっています。
* Tanaka's osax 2.x には対応していません。
インストールの方法や設定方法などを解説した文書もついていますので、ダウンロードしてすぐに使い始められると思います。
参考までに説明書をオンラインで見ることができるようにしておきました。EasyBBS EX 2 の機能等について知りたい方はご覧ください。
最新版(1.0GM1)
Perl が利用できる環境なら動きますので、UNIX, Linux あるいは MacOS X で EasyBBS を動かすことが可能です。
Web Scripter's Meeting の以下のページも参考にしてください。
Linux 版も公開されています。
Web Scripter's Meeting の以下のページも参考にしてください。
作者は前薗健一さんです。
アプリケーションですのでカスタマイズはできないのですが、そのかわり、処理速度が速くなり、また PowerPC Native 対応、マルチスレッド対応となりました。
使用の際は付属のドキュメントをよくお読みください。
現在、1.0 が公開されています。
開発者であるの前薗さんのホームページから入手してください。最新版は 1.05 です。
EasyBBS における会議室システムの考え方
ここでいう会議室システムというのは、以下のような仕組みのことです。
1:ユーザーの書き込みがページとして即座に登録される
2:登録されているメッセージが簡単にブラウズできる
3:メッセージに対して他の人がコメントを付けられる
それぞれの機能は、次のような仕組みを CGI 側で用意することで実現できます。
1の書き込みの登録については、FORM にメッセージを書き込んでもらい、それを処理する際に、HTML のタグを付けてホームページの形式に仕立てておくようにすればよいわけです。つまり、受け取ったメッセージを HTML のファイルとして保存するわけです。
2については、メッセージを保存するフォルダーのインデックス(ファイルのリスト)を CGI が生成すればよいわけですが、ファイル名を表示したのでは中身が分かりませんので、ページのタイトルを抜き出して表示するようにします。また、発言あるいはコメントが付けられた日時が分かりやすいように、ファイルの最終更新日を表示するようにします。
3についてどのような方法を取るのかによって CGI のスクリプトが全く異なったものになります。ある意味で、会議室(メッセージボード)を作るときには、この3をどのように考えるかが決めてであると言えるでしょう。
たとえば、インターネットで会議室というと NetNews を思い浮かべる方も多いと思いますが、NetNews にみられるように、コメントも独立した発言としてそれぞれ別のページ(ファイル)としておき、ブラウズの際にリンクによってスレッドを辿っていくという構成にすることもできます。しかし、この方法は、発言−コメントのリンクを管理するのが面倒ですし、アクセスしてブラウズする際もコメントを辿っていくのが面倒です。そこで、EasyBBSでは、最初の発言とそれに対するコメントがすべて同じページに書き込まれるようにし、さらにページの最後の部分にコメント書き込み用のフィールドも付いているというスタイル(1ページ=1スレッド)になっています。
この方法の特徴は、最初の発言から後に続くコメントがページの上から下へと並んでいき、最後に自分のコメントを書き込む欄がある、という自然な流れになっていることです。最新のコメントだけを読みたいときなどにはページをスクロールしていかなければならないのが面倒ではありますが、スレッド全体が1つのページになっていますので、途中から参加した人でも話の流れが追いやすということもメリットとして挙げられるでしょう。
この1スレッド=1ページ方式を実現する場合のポイントは、コメントをページに追記していくようにするということと、コメントを書き込む FORMが必ずページの最後に表示されるようにするということです。このためには、発言およびコメントのメッセージはファイルに記録するようにし、FORMによるコメント欄は、ページを表示する際に CGI によって追加を行うようにします。こうすることで、コメントをファイルに追記する処理も簡単になりますし、また FORM タグを CGI が動的に作り出すことで、コメントを書き加えるべきファイルの情報なども的確に指示できるようになります。
EasyBBS では、この「コメントはページに追記していく」という仕組みを軸にして会議室を構成します。また、複数の会議室を開催できるようにしてありますが、これは1フォルダーを1会議室と見なし、それぞれにメッセージを分けて入れておくということにしています。
基本的には、FORM からのメッセージをページに追記するという処理を発展させたものですので、単純であり、またグループウェアなどに比べると実現できる機能も限られていますが、メッセージの検索や日数による絞り込み、あるいは発言状況を把握できるページなどの機能を追加して、Web サーバーを利用したコミュニケーションのためのツールとして仕上げてあります。