掲示板CGIを書いたはいいけれど、思いつくままつぎ足しつぎ足しで作ったものだから、どうにも機能改善の余地がなくなってしまった。だから重い腰を上げて書き直しに着手したといっていたのが三月のことでしたから、もう四ヶ月が経ったのですね。もちろんその間、ずっとその掲示板に専念していたわけではなくて、全然違う仕事もしていたし、当座必要なCGIをいくつか書いたりもしたしで、けれどその掲示板バージョン2もどうにかできあがろうというところまでこぎ着けました。
バージョン2にする際にオブジェクト指向でもって作ってみるといっていましたが、今回の開発を通して、オブジェクト指向で書くというメリットを痛感することがありました。一般に公開する掲示板、管理者が使う版と二種類の掲示板を作っていたのですが、管理者用の掲示板は一般掲示板のクラスを継承できたから、基礎部分はほとんど使い回せました。結果的に二種類の掲示板ができたわけですが、ミスの修正をするときなんかにもオブジェクト指向は極めて有用で、一般掲示板に修正を加えると、自動的に管理者用掲示板も治っていると、そういう訳なんですね。まあ、メソッドをオーバーライドしてしまったりしているとこのメリットは失われるわけですが、つまり、できるだけメソッドをそのまま使うのがオブジェクト指向のメリットを最大限にいかすコツなんじゃないかと思います。
さて、完成間近という掲示板ですが、開発環境からとりだして、異なる環境にて動くかどうかの実験を試みてみました。すなわち、こととねドメイン下に設置してみたのですが、そうしたらエラーが出て動きませんでした。あれれ、弱ったな。こんなはずじゃなかったんだけど。
問題の一つ目はほどなく判明。カレントワーキングディレクトリを返すはずのCWDが、なぜか思ったように働いてくれていないんです。私はcgiファイルの置かれているディレクトリまで返ってくることを期待しているのに、なぜかcgi-binまでしか返ってこないから、正しいパスが得られない。よってファイルを取得できずエラー。むう、なんでなんだろう。開発環境だとうまくいってるのになあ。
他にやり方があるのか、あるいはなにかパラメータを与えてやる必要があるのか、ともかく要研究の課題です。
もうひとつは、CGI.pmの問題。HTMLの出力にはCGI.pmを利用しているのですが、head要素の出力時にエラーを出していまして、なんでか知らないけど、meta要素やLink要素の生成時にエラーが出ます。あらら、困りました。これがうまくいかないとCSSの適用ができないではありませんか。なのでこちらも要研究。web拍手支援cgiではうまくいけてたから、多分エラーを回避する方法はあると思います。
というわけで、好事魔多しといいますね。今回のようなことは、実にありがちではあるのですが、ともあれ調べることができたわけです。もうちょっとと思ったところでどっと疲れがでて、でもそのもうちょっとを越えればなんとかなるかも知れないという希望もあって、だからもうちょっとをがんばろうという気持ちを奮い立たせてみたいと思います。
< バージョン2に着手 バージョン2ほぼ完成 >