Last Modified: February 27, 2000
EasyBBS EX 2 は、MacOS の Web サーバで使用する会議室(掲示板)用の CGI プログラムです。AppleScript によって動きますので、AppleScript が使えるようになっている必要があります。
また、以下の osax をシステムフォルダーの正しい場所にインストールする必要があります。
これらが正しくインストールされていないと EasyBBS EX 2 は機能しません。
1つのページにコメントがぶら下がっていくという EasyBBS の基本スタイルは変わりません。
発言は <PRE> タグによる表示に固定され、発言中のタグはすべて無効(タグがそのまま表示される)という仕様になっています。
その他、以下のような機能を備えています。
バグや不審な動作を見つけた場合、あるいは使用していて疑問に思ったことやうまく使えないことなどがありましたら、上記の会議室で遠慮なく発言してください。
EX.acgi が立ち上がると、以下のような初期設定のダイアログが現われるはずです。
![[preference.gif]](/images/easybbs_ex2/preference.gif)
ここで、必ず設定しなければならないのは、Default Host に関する設定です。
Host の部分に、Web サーバのホスト名を入力してください。バーチャルホストを運用している場合の設定は後で述べますが、ここではメインのホストを一つ入力してください(IP アドレスでアクセスされたときに表示されるホストが良いでしょう)。
そして、Default Root: ボタンをクリックして、上で設定したホストのルートフォルダーを選択してください。ルートフォルダーというのは、http://your.host/ のようにホスト名だけでアクセスしたときに表示されるファイルが入っているフォルダです(そのホストに関するページが収められているフォルダ)。
この2つの設定をきちんと行わなければ、EasyBBS EX 2 は機能しません。
たとえば5分に設定しておくと、いったん表示されたページは back や forward で再表示しても、5分経つまでは、ブラウザのキャッシュが使われます。そして、5分経てば、サーバに対して新たな発言などがないかを確認しに行くようになります。
基本的に、デフォルトの5分で問題ないと思います。
オンライン管理機能によって、会議室ごとに個別に設定することが可能になっています。

このダイアログで、「会議室の機能を中断している際に表示するページ」、「各発言に追加されるコメント用の FORM のタグ」、「ゲストに対する書き込み禁止のメッセージ」(REALM を設定してある会議室の場合には、guest というユーザー名では書き込みが出来ないようにしてあります)、を編集するようになっています。
以下の様式でファイルを作成してください。
EX.acgi は起動時にファイルを読み込みますので、EX_Hosts を作成または変更した場合には EX.acgi を再起動する必要があります。
ホスト名<Tab>ルートフォルダーのパス
という書式で記述します。ルートフォルダーのパスは、MacOS 式の絶対パスでなければなりません。
たとえば、www.aaa.bbb.jp、www.xxx.zzz.jp という2つのホストを運用している場合には、以下のような記述になります(ホスト名とパスの間はタブ)。
www.aaa.bbb.jp Macintosh HD:Servers:aaa: www.xxx.zzz.jp Macintosh HD:Servers:bbb_Web:
もし EX_Hosts に記述されていないホストに対するサクセスが来たときには、Preference で設定したデフォルトのホストに対するアクセスとして処理されるようになっています。
また、オンライン管理機能へのアクセスには、セキュリティを確保するため、自分が決めた拡張子を使うようにしてあります。つまり、拡張子を知っている人間しか絶対にアクセスできないようにすることで、管理者以外のユーザーが管理機能を悪用してページの書き換えや削除を行うことがないようにしてあるわけです。いわば、拡張子をパスワードの代わりに使うことで、セキュリティを確保してあるわけです。
では、具体的な設定方法を示します。ここでは WebSTAR 4.0.2 を例に取り上げます。
以下の2つの名前の Action として EX.acgi を登録してください。Action の名前が処理の際には重要になりますので、この名前の通りに登録してください。
通常アクセス用 Action 名: BBS
管理アクセス用 Action 名: BBS_ADMIN


管理用アクセスの BBS_ADMIN action に対しては、ご自分でアクセスに用いる拡張子を決めて、それを割り当ててください。半角のアルファベットだけしか使えませんが、4文字以内である必要はありません。
以下の例では BBS_ADMIN action に対して .MGR という拡張子を割り当てていますが、このような分かりやすいものは避けたほうがよいと思います。

まず会議室用のフォルダーを作成します。このとき気をつけることは、フォルダーの名前は半角アルファベットでつけるということです。URL に用いることが認められていないスペースや一部の記号を用いるとアクセスできなくなりますので、半角アルファベットの組み合わせで名前を付けておくのがよいでしょう。間違っても日本語でフォルダーの名前をつけたりしないでください。
もちろん、会議室用のフォルダーは、Web の管理下(ルートフォルダーの内部)にある必要があります。
フォルダーの作成が終わったら、EX.acgi の Admin メニューの New Room を選んでください。すると、まずフォルダーの選択を要求しますので、先ほど作成したフォルダーを選択してください。
続いて以下のようなダイアログで会議室の名前を尋ねられますので、

会議室の名前を付けてください。
すると、以下のような会議室の設定を行うダイアログが現われます。

会議室の管理者とそのメールアドレスを記入してください。ここに記入した管理者の名前は、会議室のトップページの一番下に表示されます(トップページ用の footer ファイルの中に記録されます)。
「Redirect 用 Default.html を作成」をチェックしておくと、ディレクトリ(フォルダ)に対するアクセスを会議室のトップページのアクセスへとリダイレクトする raw ファイルが作成されます。たとえば、サーバのルートフォルダーの中に作った test というフォルダを会議室にした場合、会議室のトップページへのアクセスは、
http://your.host/test/room.bbs
という URL になるのですが、リダイレクト用のファイルを作成しておくと、
http://your.host/test/
という URL のアクセスを、room.bbs へのアクセスに導くファイルが作成されます。
ただし、WebSTAR の raw ファイルをサポートしたサーバで、Index の名前が Default.html に設定されている場合にしか有効になりませんので、この点は気をつけてください。
設定が終わりましたら、「設定」ボタンをクリックすれば、会議室の設定は完了です。

これらのファイルを書き換えてカスタマイズすることができるようになっています。そこで、各ファイルの果たす役割について順に説明しておきます。
なお、図で白のドキュメントアイコンで表示されているファイルは、ファイルタイプは'WSM 'になっていますが、中身はテキストで書かれています。
また、カスタマイズの際に画像のリンクを埋め込む場合には、画像を絶対パスで指定したリンクで埋め込むようにしてください。この点を守らなければ、画像が正しく表示されません。
会議室の設定の際に「Redirect 用 Default.html を作成」をチェックしなかった場合にはこのファイルは作成されません。
このファイルの中身を書き換えることで、新規発言投稿ページをカスタマイズすることが可能です。ただし、このファイルの中に書かれているタグの中には、EX.acgi が処理を行うのに必須のタグも含まれますので、その部分は気をつけてください。
オンライン管理機能を使って、ブラウザでカスタマイズを行うことも可能です。
オンライン管理機能を使って、ブラウザでカスタマイズを行うことも可能です。
このファイルは EX.acgi が管理しますので、書き換えたりしないでください
オンライン管理機能を使って、ブラウザでカスタマイズを行うことも可能です。
オンライン管理機能を使って、ブラウザでカスタマイズを行うことも可能です。
このファイルは EX.acgi が管理しますので、書き換えたりしないでください
たとえば、サーバのルートフォルダの中の BBS というフォルダの中に作った mysoft というフォルダが会議室であった場合、
http://your.host/BBS/mysoft/room.bbs
*your.host の部分は会議室を運用するあなたのサーバのホスト名になります
が会議室のアクセスのための URL になります。
redirect 用の raw ファイルを作成しておいた場合には、
http://your.host/BBS/mysoft/
にアクセスすれば、トップページへ自動的に切り替えられるようになっています(ただし、WebSTAR raw ファイルをサポートしているサーバである必要があります)。
なお、トップページなどにはリンクは表示されないのですが、
http://your.host/BBS/mysoft/mread.bbs
という URL を使ってアクセスを行うと、前回のアクセス以降に新たに投稿あるいはコメントがついた発言だけが表示されるページにアクセスできます(未読が含まれる発言だけが表示されるわけです)。
ただし、この機能は、Cookie を使ってブラウザの側にアクセス日時を記録する仕組みになっていますので(bbs_ex_pointer という名前でアクセス日時のタイムスタンプを記録します)、Cookie 対応のブラウザで、Cookie の受け取りを許可しているブラウザでしか利用できません。ブラウザの設定によっては、Cookie に関する警告のダイアログが表示される場合もあります。
また、ブラウザの Cookie に記録を残すため、同じブラウザからアクセスしないと機能しません。
メニューを選ぶごとにチェックが付いたり消えたりします。
なお、オンライン管理機能のページで会議室の運用を中断するように指示した場合も、このメニューにチェックマークがつきます。
チェックマークを外すと、オンライン管理機能は利用できなくなります。
オンライン管理機能を使うためには、EX.acgi の Admin メニューの Online Manager にチェックマークがついている必要があります。
以下の説明では、先ほどの設定の例で用いた .mgr という拡張子を用いることとしますが、この拡張子の部分を、皆さんが自分で決めて定めた拡張子に読み替えてください。
たとえば、会議室の通常のアクセスの際の URL が
http://your.host/bbs/mysoft/room.bbs
になる会議室の管理を行う場合は、以下の URL が管理用トップページへのアクセスの URL になります。
http://your.host/bbs/mysoft/manager.mgr
つまり、「会議室のディレクトリの URL + manager + <あなたが管理用に決めた拡張子>」 という URL を用いることになります。manager の部分は変えられません。あくまでも、拡張子の部分を変えてください。
管理用トップページにアクセスすると、以下のようなページが表示されます。
(50% に縮小してありますので、細かな部分は分からないと思いますが…)

これに対処するため、会議室の運用を中断/再開できるようになっています。
EX.acgi の Admin メニューの Suspended を選ぶのと同じことになります。
1以上の自然数を指定する必要があります。
発言の編集ページでは、個々の発言(コメント)の編集や削除が行えます。
ただし、ページの最初の発言(スレッドの最初の発言)だけは、編集は行えても、削除は行えません。
いかなる内容の発言であれ、ページの最初の発言というのは、それ以降のコメントの起点となる発言であり、いわばスレッドの土台になるものであると考えます。ですから、これを削除するということは、発言ページ全体の存在を否定するに等しいと考え、発言の削除を認めない代わりに、ページ全体の削除を行うという選択ができるようにしておきました。
この仕様に関しては違和感を感じられる方もいらっしゃるかもしれませんが、EasyBBS のコメントの在り方の根本に関する考え方ですので、今後も変更するつもりはありません。
なお、Express Mail においては、メールの Subject は、発言(ページ)のタイトルになります。また、コメントの場合には "RE: " + タイトルになります。
この Express Mail をリストサーバを使って広く発送するようにしておくと、WSM Express のように、色々な参加者がメールで情報を受け取る(書き込みを確認できる)仕組みを構築できるわけです。
また、会議室の管理者あてに送るようにしておくことで、どのような書き込みが行われたかをメールで確認できるようになります。
この Mail Log を作成するようにしておいて、UVJ Mailer の Timer を使ってメールとして発送するようにしておけば、1時間ごとに書き込みをメールで送る会議室のダイジェストメールを発送することができるようになるわけです。
書き込み毎に以下の項目が記録されたファイルが作られます。
このファイルが、発言の削除などを繰り返しているうちにおかしくなることがあります。そのような場合に、この「タイトルリストの再構築」を行ってください。
もともと開発時に、バグでおかしくなったデータを修復するために設けたものを、そのまま残しているというものですので、通常は、使用することはないと思います(思いたいです (^_^;;)。
スクリプトの量も増えてしまい、FaceSpan のプロジェクト・スクリプトには収まりきらず(FaceSpan 3 には、スクリプト編集プログラム同様に、スクリプトのサイズは 32K までという制約があります)、管理機能などはウィンドウのスクリプトに埋め込んで呼び出すようになっています(必要もないのにウィンドウが表示されるようになっているのは、実はこのためなんです)。
発言の検索機能が貧弱であったり、大量のページのリストを表示できないなどの弱点は多く持ったものではありますが、ただ、MacOS の AppleScript による会議室の CGI として、私が組み込めるだけの機能はほぼ組み込めたと思っています。osax に頼る部分は多いのですが、それでも、そこそこの速度で、それなりの機能のものになんたのではないかと思っています。
このソフトが、コミュニケーションの場を作っていくのにお役に立てば幸いです。