BFBBS Ver 1.4.2
Skin: BYOR by Yaminusi
前々から気になってたことについて聞きます。
BFBBSの付属の解説にはおそらく書かれてないと思うのですが…
上のURLで使われている「set=support」というのはナンデスカ?
こんな隠し機能があったのですかー??
設定多いからURL長くなりがちなBFBBSですが、これあるとすっきりで気分いいので、
解説求む。
あと、タグいけるようにはいつなるんでしょう??
結構期待してます。
[from Author]:
Ver 1.1.0 のリリース時にメールにてご案内したアーカイブは入手して頂けたでしょうか?
届きませんでしたか? >メール
setオプションの詳細については、そのアーカイブに入っている最新版の bfbbs.txt 内、「起動時に渡せるデータやオプション」に解説を載せていますので、そちらをご覧下さい。
タグを利用可能にするエクステンションは Ver 0.6.x 系の機能と同レベルならばすぐにでも作れるのですが、いかんせん制限の多い代物ですし、処理速度的にもあまり出来がいいとは言えないものなので、ある程度は属性指定等も出来るもう少し汎用的なものを考えています。
旧来と同機能で宜しければ、サクッと作って公開します。
うむ。やはり同じ事考えてましたかー
> 他に何か、置換処理出来た方がいいような項目はあるでしょうか? 次のVerUP時にまとめて拡張しますんで、
> ご要望があればお伝え下さい。
なんていっったらいいのか、この掲示板で言えば、「Web page 制作や CGI、Perl に関する事なら何でもどうぞ。」って書いてあるとこのような、ページ解説部分みたいなコメント項目一個くらいあると良いかもねえ。
なんかこういうのって言いだすときりがないですが(^^;
[from Author]:
具体的な項目となると、確かにあれもこれもという感じになってしまいますね。(^^; 聞き方がまずくて済みませんでした。
タイトルやウェルカムメッセージ等は可変長ですから、いっそ各記事に対するフリー項目のような、スキンに対するフリー置換文字列(?)を何個か用意した方がいいかも知れませんね。スキン設定ファイル内でそれらの文字列なり部分的なHTML文書の塊を定義して、置換出来るようにしておけば汎用性も高まるかと。
[from Author]:
このようなニーズに応じ、スキンをより柔軟に活用する為のエクステンション「flexible_skin」を作りました。
沢山の掲示板を設置されているヘヴィユーザの方は是非ご利用下さい。
因に、flexible_skinはこのサポート掲示板でも利用しています。(^^;
スキンの項目で「タイトル部」というのをつくってはどうかと思うのです。
ログ設定ファイルだとか内に書かれた設定の掲示板タイトルの文字列に対応して変動するやつ。
そうすれば、スキンファイルの使い回しがより容易になると思うのですよ。
この掲示板で言えば、トップに書いてある「Support BBS」の文字列ですね。
[from Author]:
やっぱり誰しも同じような事を考えるようですね。作者もそれを考えてました(笑)。
置換文字列にタイトルに置換されるものを加えてやればいいだけなので簡単に実装出来るのですが、どの置換属性に分類しようか迷ってたんですね。
他に何か、置換処理出来た方がいいような項目はあるでしょうか? 次のVerUP時にまとめて拡張しますんで、ご要望があればお伝え下さい。
ちょっと考えたんですけど、今回の画像の場合で言えば、
普通「aaa.gif / bbb.gif / ccc.gif」みたいなかんじで入力フォームで
画像ファイル自体を選ばせて表示部に代入しますよね??
…で、ここを画像ファイル自体だけを選ばせるんじゃなくって、
「<img rrc="aaa.gif"> / <img rrc="bbb.gif"> / <img rrc="ccc.gif">」
ってな風にタグ込みで選ばせちゃえば、いけるんじないかと?
まだ試してみてないんですが。
どうでしょ、この案。
まあこれでいけるかどうかはスキンのデザインにもよるとは思うのですが。
[from Author]:
確かにそれでもいけますが、お気づきのように画像がないとデザインが崩れてしまうスキンの場合、画像を選択・送信出来ないスキンの方で書き込んだ記事があると表示が乱れますね。
…で、大して難しいものでもないので、対応策のエクステンションをさっさと作ってしまいました。ついでに BFBBS本体もバグフィクスした新Verをリリースしましたんで、適宜ご利用下さい。
かなり変な事をするために悩んでおります。
ジャンさんのskinのような画像選択型のskinを使っているとします。
で、たまに気まぐれで他のフリー項目無しなノーマルなskinで同じログに書き込んだとします。
それを画像選択型skinでまた見ると、当然画像部分が選択されていないので、
「<img src="">」となってしまい、「画像読み込めませ〜ん」マークが出てきちゃないですよね。
普通こういう画像選択型skinを使う場合、「画像無し」として透明の1*1ドットのgif画像を置いて画像無し
としたりします。
で、他のskinから書き込んで、透明gifを選んだんでは無く、マジに画像無しになってしまった場合に、なん
とかして代わりに透明gifを代入させたいわけデスよ。
なんかいいアイデアあったらプリーズ
JavaScriptになるんでしょかね?? やはり。
[from Auther]:
その問題は作者も多少悩んでまして…。(^^;
フリー項目を使ったスキンで書き込んだ記事を、別のフリー項目を使ってないスキンで見る分には互換性あるんですが、上記のようにこの逆のケースだとイヤな事になるんですよね。
で、JavaScript という逃げ方もアリなんですが、もっと根本的に、入力されなかったフリー項目を自動補完するエクステンションを考えています。ログ設定毎に初期値を決めておいて、入力がなかったらその値を勝手に記録してしまう訳ですね。こうすれば JavaScript の使えないブラウザにも優しいので。
という事で、済みませんがこれを作るまでは JavaScriptで逃げるなり、スキンに何とか細工するなりして凌いで下さい。m(_ _)m
[from Auther]:
上記のような問題の解消と、投稿者による修正・削除機能を用意していないスキンでパスワードを入力しなくても投稿出来るようにする為、supple_free エクステンションを作りました。
スキンファイル上に画像等の外部ファイルを表示させる場合は、IMG要素のsrc属性を相対パスではなく完全なURIで指定して下さい。
BFBBSはオプション類の受け渡しに環境変数 PATH_INFO を利用している為、相対パス指定で書かれている場合はオプション類が付いた時に参照先がズレてしまいます。
例: cgi-binディレクトリと同じ階層に face ディレクトリがあり、bfbbs_v.skn から <IMG src="../face/face00.gif"> と指定した場合、「http://〜/cgi-bin/bfbbs.cgi」で繋いだ時は正常に表示されますが、書込後のリロード等でオプションが付加され、「http://〜/cgi-bin/bfbbs.cgi/log=default/skin=default/mode=v」 等に変化した場合はパスがズレて表示されません。
どうしても相対パスで指定したい場合は、掲示板に入るページでの指定にも常に log, skin, mode の各オプションを指定し、画像のパスは実際より三階層分多く上がっておく等の処置が必要になります。
[from Author]:
BFBBS Ver 1.2.0 からはオプション類の受け渡しに GET method を使うよう変更した為、この問題は解消されました。
GeteKeeper入れて稼働させてみてますが…
思ってた以上にログかなりハイペースででかくなるですね(^^;
たった一日で、発言ログのファイルの容量越えてしまったですね
ほったらかしにして忘れてたら、えらいでかくなっちゃういそう(^^;
件数設定できたらありがたいところではあるですね。
何件か溜まったごとに過去から何件消す、みたいな。
perlさっぱりわかんないんですけど、こういうふうに改造するのって
大変なものなのでしょうか??
[from Author]:
「訪問者ログを記録するモード」に、v や e を指定していませんか?
発言ログに変更を行う w,x,y 以外のモードで gate_keeper を使用するのはあまり意味がありませんし、故意にリロードを繰り返してディスクを食いつぶすようなクラッキングも可能になってしまいます。
一言だけの発言ばかりだったり、新規発言量に対して過度に修正や削除の回数が多くない限り、発言ログより大きくなるというのは変ですね。
また、取得した環境変数の中ではどれが大きいですか?
容量を増やす原因となっている環境変数を取得対象から除外する事で、一回当たりのログの量は減らせます。何カ所も PROXYサーバを経由している人が集まるような掲示板だと、それなりの膨れ上がり方になるかも知れません。:-)
差し支えなければ gate_keeper のログを送ってもらえませんか?
gate_keeper は開発経緯上、毎日の訪問者を「監視」する為のものではなく、PROXY経由でのアクセス時でもそれなりのリモートホスト情報を得られるよう、PROXYに関係する環境変数の情報を調べる為の開発者向けツールです。
細やかなアクセスログを取りたい場合は、別のアクセスログ解析CGIを併用する事をお勧めします。
パーミッションだったようです。
僕がlogディレクトリ自体を解放してるんじゃなくて、
ファイルごとにやってたからっぽいデス
稼働開始してるっす。
ところで、GeteKeeperログは際限なくでかくなっていくのでしょうか??
特に表記が無かったのでそうなのかと思っているんですが…
通常の発言ログのように保存件数を設定できれば便利かなとも思います
[from Author]:
はい、gate_keeper のログは際限なくデカくなっていきます。(^^;
これは以下の理由からです。
1. gate_keeper の出力するログは、一件当たりのデータ量が不定である。
2. ログ自体の見易さを考えると、これらデータを一行にまとめて処理するのは辛い。
3. 一行にまとめて処理し、保存件数等も考慮するとなると、掲示板CGIをもう一つ動かすのと同じくらいの負荷がかかる。
4. こんなログ取りたがる人はテキストファイルくらいいぢり慣れていると推測できる。:D
という訳で、gate_keeper の吐き出すログを処理する為の専用CGIを作れば、全て on Web で閲覧・保守管理が出来るかと。
現在のところはそういうツールを作る予定はないですが、暇を見つけて考えておきますね。
エクステンションの「gate keeper」を入れてみました。
ドキュメントの通りに入れたはずなのですが…
アクセスすると、
「gate_keeper: file not found」です。
gate_keeper.logを自分で作ってみたりもしましたが、
やっぱりいっしょのようです。
動作しない原因として、どのようなことが考えられるでしょうか?
BFBBSはfreeWebで動作させています。
[from Author]:
このエラーメッセージが出るのは、gate_keeper.log のオープンに失敗した場合のみです。
以下の点をよくお確かめ下さい。
・ログファイルのパス指定が、bfbbs.cgiの位置から正しく指定されていますか?
・ログファイルを作るディレクトリは、パーミッションが 777 に設定されていますか?
777に設定したくない場合は、予めログファイルを用意し、そのパーミッションを 666 に設定して下さい。
これらパーミッションは設置サーバの設定によって変化します。例えばココ(pos.to)ではデータファイル類を 600 で扱えるようになっています。
ご利用のサイトが公開している、CGIを動かす際の注意事項等をよくお確かめ下さい。
次のページ等に飛ぶボタン部分のデザインが作りにくい、という方の為にちょっとTips。
skin.cnf でリンクボタンのタイプを無指定にすると、それぞれの飛び先(URI)のみに置換されます。つまり、
# ボタンタイプ
$btn{'type'} = '';
と指定して、
<A href="__BUTTON_NEXT__">〜</A>
等とすれば、デザインは自由に出来るかと。
あと、現在公開しているスキンは作者の趣味でやたら CSS(カスケーティングスタイルシート)使っていますが、慣れ親しんだFONTタグ等で作りたい方の為に、旧ヴァージョンのスキン(ルックス)を現行形式のものにリファイン中です。しばしお待ちを。
[from Author]:
まぁ実際のところボタンタイプがデフォルトの 'A' のままでも、accesskey属性が固定になっちゃうだけでデザイン上の制限って殆どないんですが。
むしろ 'A' にしておいた方が、ダミーボタンが出る状態の時にボタンフェイスが Aタグで囲まれないのでお薦めです。
'INPUT'や 'BUTTON' になると極端に自由度が低くなりますが、フォームのあのボタンがいい、という方の為に用意してます。