トップ 最新

ただのにっき

2000-05-05(金) [長年日記]

RuBBS 0.3.0

ダラズのlさんから、RuBBSのパッチがいくつか送られてきていたので、これを取り込んで正式リリースを作らにゃならなかったんだけど、連休前は忙しくてそれどころじゃなかった。連休初日はひさびさにのんびりしたけど、翌日から取り組む。

本文中の引用の色を変えるパッチと、cookie対応のパッチを当ててから、スタイルの違う部分を手直ししたり、下位互換性を維持するための修正を入れていちおうOK。オープンソースっていいよねぇ。問題は投稿者の名前とメールアドレスを保持するためのcookieに日本語が生で流れるようになっていること。他のサイトのcookieを見てみると、日本語はたいていURLエンコードされている。動けばいいというバータリー的な作りでもいいけど、何かおきたら面倒なので、手軽に使えるbase64エンコードしてみる。

もう一つ、RuBBSはサーバーの負荷を下げるためにカレントログは静的なHTMLに吐き出すようにしてるんだけど、このせいでせっかく保持しているcookieの値が投稿フォームに反映できない点だ。ReplyはCGIを経由するから使えるんだけど、新規投稿では使えない。でも、新規投稿用のフォームがログと同じページにある必要はないよね……なんて考えてたら、lさんが先にそのためのパッチをくれた(笑)。うーん、こりゃ楽でいいわ(ってをい)。

さっそくそのパッチも当てさせてもらい、ささいな問題をいくつか修正して、ひさびさに0.3.0としてリリース。これでずいぶん使いやすくなったはず。ついでに新たに掲示板を作るためのmakebbsコマンドも少し手直ししておいたので、UNIX系OSで運営するのは楽になったと思うんだけど……文化的にこういう作りでいいのかどうか、いまだによくわからじ。

リリース後になって、RuBBSがNetscapeを落とす原因がわかった。Replyを押すとときおりNetscapeがBus Errorで死ぬのだ。長いこと原因がわからなかったんだけど、どうやらフォーム中のTEXTAREAタグにWRAP="SOFT"という属性が指定してあるとき、TEXTAREAの幅よりも長い文字列が設定されていると起きるらしい。ずいぶん前に、esBooksで買い物をする時に、契約書を表示できなかったのもこれが原因だったわけだ。つーことは、Linux版Netscapeを使う限り、この属性を指定してはならぬってことだ。Windowsを使っていた頃ならいざ知らず、自分がLinuxを使っているのにこの状況を放置するわけにはいかんなぁ。ほとんどw3mを使っているとは言え。次のリリースでWRAP属性は排除しようか。