fml8 チュートリアル (バージョン 7.99.1-20180910)
Prev | Chapter 24. ＭＬの話の筋(スレッド)の追跡 (Thread Tracking System ?) | Next

# スレッドシステムのデータベース

以下のようなデータベース群から スレッドシステムのデータベースは構成されています。

    ファイル名      内容の例
    ----------------------------------------------
    status		open / close
    ml_name		elena
    article_id	100
    thread_id	elena/100
    from		ヘッダの From: (めーる＠アドレスの形式)
    sender		ヘッダの Sender: (めーる＠アドレスの形式)
    x_sender	ヘッダの X-Sender: (めーる＠アドレスの形式)

たとえば、BSD 上であれば status.db といった .db のファイル群のセットとなるわけです。

これらのファイル群は各ＭＬのホームディレクトリではなく、

    $ml_home_prefix/@db@/ＭＬ名/

    例
    /var/spool/ml/@db@/ＭＬ名/

というディレクトリに作られています。 これは、(特定のドメイン内 [1] にある)ＭＬが相互に参照しあう拡張を想定しています。 たとえば「support/100 の記事は sales/98 を出発点としている」 といった情報を自動的にＭＬが教える機能を実装するための布石です。 残念ながら、現在のところは未実装です。

スレッドのデータベースは 「主に article_id か thread_id が primary key」 です。 具体的に書くと以下のようになります。

    [thread .db]

    	aritcle_id	=>	thread_id

    [article .db]

    	thread_id	=>	article_ids

    	Example:	elena/100	=> 100 101 103 105

    [date .db]

    	aritcle_id	=>	unix_time

    [sender .db]

    	article_id	=>	from

    [message_id .db]

    	mesasge_id	=>	thread_id

    [status .db]

    	thread_id	=>	status

    [index .db]

    	thread_id	=>	"$ml_name " *

    	Example: support/100 => support sales

### Notes

[1] | 逆にいえば、現在、ドメインを超えたクロスポストは無視しているわけですね。 まぁ、あまりそういう要求は無いと思いますけど…

Prev | Home | Next
fml8 (minimal_states モデル版)チケットシステム | Up | 運用

fml 8.0 (fml-devel) project homepage is www.fml.org/software/fml8/.
fml 4.0 project homepage is www.fml.org/software/fml4/.
about one floppy bsd routers, see www.bsdrouter.org/.
other free softwares are found at www.fml.org/software/.

author's homepage is www.fml.org/home/fukachan/.
Also, visit nuinui's world :) at www.nuinui.net.

For questions about FML, e-mail <fml-bugs@fml.org>.