スキンボードの誕生!
まず、大きな目的は2つありました。
1.CGIの中から環境に関するものを取り出し、CGIから完全に独立させること。
また、そのファイルを、CGIが解析し実行すること。
このとき、このファイルはできる限り柔軟性を持たせようと次のようなことを考えていました。
・記録されている順番を入換えても動作が変わらない
・説明文が自由に入れられる
・必要のない項目でも記録として残して置ける
・空白行を自由に挿入して見やすくできる
などです。
なぜなら、これからいろんな改造をしようとしたとき、説明があった方が後で見た時わかりやすいですし、将来どんな項目の追加があるかもしれませんからね..
その上、似たような項目をそれえるため順番を並べ換えたり、適度に空白行を入れたりして見やすくしたかったからです。
このような作業が発生するたびにCGIを変更していたらメンテナンスが大変ですし、安心して使えませんものね..
私は以前からこういうスタイルが好きですし、そういう手法を今まで数多く開発してきました。
けっこう得意です。(笑)
2.他のCGIでも利用する可能性がある部分を本体のCGIから独立させ、共通に利用できるようにすること
例えば、パラメータや日付・時間、アクセスログやカウンタの取得などほとんどのCGIに必要と思われる部分を1つにまとめ、掲示板以外のCGIでも再利用可能としました。
これにより、無駄な開発が減ります。
現実問題、この共通CGI(サブルーチン)は、私のCGIのすべてに利用できるようになり、私の持っている何十本というCGIのメンテナンス性が向上しました。
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
例えば、サーバーによって時刻の表示が狂うことがあります。
皆さんは、HPを移転したことがありますか?
私は、今回HPを移転する際に、このような共通CGIに変更してて本当によかったと心底思いました。
実は今回、HPを別のサーバーに移転したら時刻が10時間ずれていることがわかりました。
そして、それは私たちのCGI側で変更する必要があったのです。
私は、大きいもの小さいものを含め、30本以上のCGIのすべてに時刻取得を埋め込んでいます。
これらすべてを同じように変更するのはかなりの労力です。
しかも、すべて同じ事を繰り返していくわけですから、こんな無駄な作業はありません。
今回、この部分を共通CGIにしてましたから、1箇所の修正で済みました。
この便利さは、苦労した方でないと分からないでしょうね..
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
また、それ以外のサブルーチンもできるだけ触らないようにするため、これも一つにまとめて分離し、本体のCGIには必要最低限のサブルーチンしかおかないようにしました。
これで、本体のCGIの見通しがよくなり、骨格がよく見えるようになりました。
ですから全体の流れを変えたいときは、本体CGIのみを変更するだけとなり、こういう場合に於いてもメンテナンス性が向上しました。
こうして、出来上がったスキンボードは現在、私のホームページのいたるところで利用しています。
表示されたページの左下に「- skin board -」と明記されているページはすべてスキンボードを利用しています。
注)現在は、サイトコンテンツを見直したと同時に、さらに進化したSQLBoardに変わっています。