blosxom starter kit #10

writebackとwikieditishが作成するファイルとディレクトリがnobody(またはサーバー依存のユーザー)権限で作成されるのは、サーバー依存なので無理だとは思うのですがFTPでファイルを操作することが出来ないのはいかんともしがたいので、それぞれのプラグインで作成されるディレクトリを777にパーミッションを変更するように改造したものに差し替えたアーカイブをアップロードしました。

変更したファイルは、

の2つだけです。

これによって、FTPで削除はできるようになったと思います(infoseek iswebの方でFFFTPを使って削除できることは確認しました)。上書きは出来ないのですが、当該ファイルをダウンロード→削除→アップロードという手順で、上書きのようなことは出来ます。こういう作業をした場合は、パーミッションの都合でCGIから書き込みが出来なくなってしまうので、アップロード時にパーミッションを666などに変更してやる必要もあります。

nobody権限うんぬんの件に関しては、基本的にはサーバー側の仕様になると思いますので、これ以上のことはできない、というか思いつきません。既存の掲示板CGIスクリプトなどの場合はデータファイルが単一のファイルで、それを手作業でアップロードしパーミッションを変更という手順を辿るものが多いので、この種の問題は発生しません(新たにファイル・ディレクトリを作らないため)が、blogツールやWiki、2ch型掲示板などファイルやディレクトリをポコポコつくるCGIは多かれ少なかれこの種の問題は抱えていると思います。

nobody権限のファイルそれぞれ、またはディレクトリごと削除するCGIスクリプトというのは、Going My Way研究室で公開されているGMW-managerなどがあります。iswebでの60001で作られた、FTPからは操作できないファイル・ディレクトリ共に削除できることまでは確認しました。すでにトラブルに会われた方はお手数ですが、このCGIスクリプトなど(他にも幾つか見つけることができると思います)を利用して、削除するなり編集するなりしてください。申し訳ありません。

また、この類いのCGIスクリプトの同梱の要請もあったようですが、

などの理由から、同梱するつもりは今のところありません。

複数の文字コードで書き込まれた場合についての処理ですが、元々のwritebackに文字コードの変換処理は存在しないので、Jcode.pmが利用できる環境の場合は投稿時に統一するという仕掛けは作っておきました(バグがありましたが)。ブラウザで閲覧した時の文字化けに関してはこちらで処理をすることになります。報告いただいたcolor99さんのコメントに複数の文字コードが投稿された理由は、head.htmlのmeta要素はShift_JISになっているようですが、head.htm(lが無い方)のmeta要素がShift_JISに変更されていないことも理由のひとつだと思います。ここらへんのことはまるで言及していないのでわかりにくかったと思いますが。

とりあえずはここまで。抜けていることがあったら補足します。

追記

コメントで記入されたのが、URLかメールアドレスかを判断する機能それ自体には問題はなかったようですが、メール・アドレスだった場合にmailto:を追加するのを忘れていたというミスがあったので、差し替えました。ここ一時間ほどの間にダウンロードした方はダウンロードしなおした方が良いかも。手作業で修正する場合はplugins/writebackの184行目を

$param{'name'} = qq!<a href="mailto:$param{'url'}">$param{'name'}$param{'blog_name'}</a>!;

と、書き換えるだけです。