ここには「うぇぶ会議室」について良く質問される項目と その答えをまとめてあります。 此処に書いていない事やマニュアルを読んでも 良く分からない事がありましたら、「うぇぶ会議室」の 「うぇぶ会議室の部屋3」 辺りでお聞き下さい。適宜追加します。
tar+gz
のアーカイヴをダウンロードして
展開したらエラーになりました。
(拡張子の補完不全)flock
関数利用不能)jperl
の利用)Q. 記事投稿の時、名前やメールアドレスの欄が自動的に埋められているのですが?
A. 「うぇぶ会議室」では HTTP Cookiesの機能を利用して、 以前に投稿した時の、
をブラウザに覚えさせています。 また、投稿時にキャンセルコードを変更すると、 その変更した後の
も覚えさせています。 ブラウザが次の投稿時までこれらの情報を覚えていれば自動的に補完されます。
この個人情報の自動補完は、 パソコンを専有して使っている場合には非常に便利な機能ですが、 計算機室の共用パソコンとかインターネットカフェとか、 不特定多数が使う環境では無意味であるばかりか、 ブラウザに個人情報が残ってしまって危険でもあるので、 投稿時に「ブラウザに個人情報を覚えさせない」 あるいは「ブラウザにキャンセルコードを覚えさせない」のチェックボックスを選んで、 個人情報を残さない様にして下さい。
Q. 記事中で "<" や ">" などの文字が 上手く表示されないんですけど?
A. 「うぇぶ会議室」では HTMLタグの使用を許していますので、 記事からリンクを張ったり、画像を張り付けたり出来るわけですが、 逆に HTML タグで利用する以下の文字はエスケープが必要です。
'<'
→ '<'
(タグはじめ)'>'
→ '>'
(タグ終わり)'"'
→ '"'
(引用、場合によってはエスケープの要無し)'&'
→ '&'
(エスケープ文字自体)ただし、プログラムや HTML自身など、 これらの記号が多く現われる記事を書く時に、 いちいち手でエスケープしていると大変なので、 記事の投稿時には 「HTMLを解釈せずにそのまま表示する」と言う チェックボックスを設けました。 本文中に特殊記号が多い時にはこれを使うと楽でしょう。 すべてのHTMLタグの無効化が行なわれます。
また、記事の引用の時、 元記事にこれらの記号がエスケープされて入っていると、 自分が「解釈しない」モードで出そうと思っても、 元記事の部分がエスケープされたまま出てしまうので、 「エスケープせずにそのまま引用」する リンクを使って下さい。 なお、このリンクは引用記事にエスケープされた記号が 入っている時にのみ現われます。
Q. 投稿しても記事一覧に新しい記事が現われないことがあるんですが?
A.
「うぇぶ会議室」のスクリプトは
各ペーヂの出力時に最終更新時間(Last-Modified
)を
設定することにより、
ブラウザやプロクシサーヴァなどの
キャッシュ機能を有効にして
不要なリロードを避ける様になっています。
しかし、いつまでもキャッシュが有効になっていると
新しい投稿があっても分からないので、
ペーヂの内容が古くなって無効になる時間(Expires
)も
同時に設定しています。
もしも、以前に記事一覧を読み込んでから投稿が完了するまでの時間が
無効になるまでの秒数 (site.pl
で
$expires
と言う
変数に設定してあります) より短いと、
投稿完了後の記事一覧の読み込みでキャッシュにある古い情報を読んでしまい、
あたかも新規記事が上手く投稿されていないかのごとく見えることがあります。
そう言う時には、記事一覧のフレームをリロードすると 新しい記事が投稿されているのが確かめられます。 もしも気になるようでしたら、通常600秒に設定されている、
$expires = 10 * 60; # 会議室選択/一覧ペーヂの有効秒数
の秒数を短くすれば投稿の後キャッシュを読むことは少なくなります。 ただし、あまり短くしてしまうとキャッシュを有効にした意味が 無くなってしまいますから程々にして下さい。
Q. ユーザカスタマイズしても、フレームの分割比等を憶えてくれないんですけど?
A. 会議室のあるペーヂのURLに本来使ってはいけない Unsafeな文字、 例えば "~"(tilde) 等を使ってはいませんか? ブラウザによってはこの様なUnsafeな文字を使うと色々と不都合が起きますので、 "~" は "%7E" 等と表わして、Unsafeな文字は使わない方が無難です。
「うぇぶ会議室」のスクリプトでは、 HTTP Cookiesの 機能を使ってカスタマイズ情報を憶えていますが、 ブラウザの "~" 文字の扱いが文脈によって "~" だったり "%7E" だったりと 一定していない場合、片方で憶えたことがもう片方で使えない事になり カスタマイズが部分的にしか有効になりません。 統一的に "%7E" を使う様にしましょう。
現行ヴァージョン(Ver.1.7a)で site.pl
の
%help
項目で "~" の代わりに "%7E" を使うと
forum.pl
のバグが顕在化します。
「最新β版及びパッチ」のペーヂを参照して下さい。
Q.
tar+gz
のアーカイヴをダウンロードして
展開したらエラーになりました。
A.
Windows上の一部のブラウザで *.tar.gz
と言うような
アーカイヴをダウンロードすると、
ファイル名が *_tar.tar
などに変えられてしまうことがあります。
これをそのまま WinZIP の様に *.tar.gz
なアーカイヴを
展開できるソフトに与えても、単なる tar アーカイヴだと思って処理してしまい
エラーになってしまいます。
そのような時は、ファイル名を正常なもの(*.tar.gz
)に
戻してやってからソフトに与えれば正常に展開できます。
拡張子の補完不全が起こるのは、*.tar.gz
なアーカイヴが
Content-Type: application/x-tar Content-Encoding: x-gzip
と言うレスポンスヘッダと共に送られてくるのに、
Content-Type
だけ処理して、
Content-Encoding
を正常に処理出来ていないためだと思われます。
flock
関数利用不能Q. 記事を投稿しようとするとサーヴァエラーになるんですけど?
A.
「うぇぶ会議室」では同時に複数の投稿が起きない様に
ファイルのロック処理をしていますが、
サーヴァのOSの種類によっては、
このロック処理に使用するflock()
と言う関数を
持たない物があります。
もしも、他の動作は問題無いのに記事の投稿時にサーヴァエラーになるようなら、
flock()
が使えない事が考えられます。
OSの機能としてflock()
が使えない場合でも、
perl5 (5.x版のperl) なら、OSが持っている他のファイルロックの機構で
flock()
をエミュレーションして
擬似的にflock()
を使えるようにしている場合がありますので、
まず、perl5 が利用できるかどうか試して下さい。
perl5が利用できない場合には仕方がありませんので、
「うぇぶ会議室」でflock()
を使わない様に設定できます。
site.pl
の
$flock_disableでflock()
の無効化が
設定出来ます。
$flock_disable = 1;
とすると、flock()
を使わなくなります。
もちろん flock()
を使わない設定にすると、
同時投稿時に誤動作する可能性があることにも留意して下さい。
jperl
の利用Q. 記事一覧の行末が化けてしまうんですけど?
A. 記事一覧の行末が化けるのは、perlの代わりにjperlを使っている時に 起きる典型的な症状です。 「うぇぶ会議室」は基本的にjperlでの実行を保証していません。 通常のperlを使って下さい。
ただし、jperlのヴァージョンが5.x以降の場合には、 スクリプトの1行目のperlコマンドの位置指定に対して、
#!/usr/local/bin/perl -b
の様に、-b
オプションを付けることにより、
perl互換モードで動かすことが可能です。
もちろん「うぇぶ会議室」はjperlのperl互換モードの元でなら
正常に動作しますので、もしもサーヴァにインストールされているのが
jperlだけの場合はperl互換モードを使って下さい。