次期 XNotes (開発コード“第七聖典”) では、
下の3つの掲示板形態 (ネーミングは適当) を
1つの CGI の処理に統合しようと考えている。
ついでに Perl も Perl4 は切り捨ててオブジェクト指向記述にする予定。
うまくいけば形態の違いをきれいにオブジェクトに吸収できるはずだけど、
どうなることやら :-)
ほとんどの人はプログラムの作りなんて気にしないだろうけど、
現 XNotes でも結構無意味(?)にプログラム構造にこだわった部分があったり。
一例としては、CGI 本体には日本語メッセージを一切入れずに、
しかも SJIS と EUC の違いもユーザがコード変換しないでセットアップ時に自動処理するとか、
まぁ自分で言うのもなんだけど、一風変わった処理をしているので
Perl が読める人は読むのも一興かも :-)。
構造モデルのタグは実際には <div class="〜"> となるので、
サンプルの HTML 記述を参照してください。
サンプルの元ネタは……まぁ判る人には判るでしょ (笑)。
現 XNotes でも使用している。
基本的に記事の参照関係によらないベタ構造。
いわゆる MiniBBS の形態。
<MSGBLK>
<MSG>
<MSGHEAD>投稿者情報</MSGHEAD>
<MSGBODY>投稿本文</MSGBODY>
</MSG>
<MSG>
<MSGHEAD>投稿者情報</MSGHEAD>
<MSGBODY>投稿本文</MSGBODY>
</MSG>
<MSG>
<MSGHEAD>投稿者情報</MSGHEAD>
<MSGBODY>投稿本文</MSGBODY>
</MSG>
</MSGBLK>
記事の参照関係から構築される木構造のスレッド。
<MSGBLK>
<MSG>
<MSGHEAD>投稿者情報</MSGHEAD>
<MSGBODY>投稿本文</MSGBODY>
</MSG>
<MSGREPLY>
<MSG>
<MSGHEAD>投稿者情報</MSGHEAD>
<MSGBODY>投稿本文</MSGBODY>
</MSG>
<MSGREPLY>
<MSG>
<MSGHEAD>投稿者情報</MSGHEAD>
<MSGBODY>投稿本文</MSGBODY>
</MSG>
</MSGREPLY>
</MSGREPLY>
</MSGBLK>
ツリー型の特殊ケースで階層が一段しかないもの。
YY-BOARD とかの形態ですな。
<MSGBLK>
<MSG>
<MSGHEAD>投稿者情報</MSGHEAD>
<MSGBODY>投稿本文</MSGBODY>
</MSG>
<MSGREPLY>
<MSG>
<MSGHEAD>投稿者情報</MSGHEAD>
<MSGBODY>投稿本文</MSGBODY>
</MSG>
<MSG>
<MSGHEAD>投稿者情報</MSGHEAD>
<MSGBODY>投稿本文</MSGBODY>
</MSG>
</MSGREPLY>
</MSGBLK>