fml8 チュートリアル (バージョン 7.99.1-20180910)
Prev | Chapter 13. ＭＬのメンバーができること | Next

# 記事の投稿 (配送処理プログラムについて)

elena@fml.org ＭＬ(fml.org の elena ＭＬ)への投稿は、 普通にメールを elena@fml.org に送信することです。

メールは MTA が受け、最終的に MTA は /usr/local/libexec/fml/distribute というコマンドを実行します。 distribute はメールを標準入力から受けとり、 ＭＬとして必要な処理(記事の保存やヘッダの書き換え)をした後、 MTA へ配送処理を委ねます。

## distribute プログラムが ＭＬとして処理するべきこと

subject のタグをつける、もしくは記事番号などを更新するなど

    例

    Subject: [elena:00100] エレナさん素敵

(デフォルトではつけません)

記事の保存(テキストファイル)

HTML 化された記事を作る。 ~fml/public_html/ 以下に作成されます。

スレッド追跡システムのデータベースを更新する。

## 投稿記事の振舞いを制御する変数

Warning
ごめん、まだ、書いてない

## 解説: ブートしていく様子

fml ブートローダ の章でも例に上げているように、次のようにブートします。

/usr/local/libexec/fml/distribute と/usr/local/libexec/fml/loader は symlink(2) で結ばれ、同一のファイルです。 /usr/local/libexec/fml/distribute が起動されると、つまり loader が起動 されると、/usr/local/libexec/fml/loader は /usr/local/etc/fml/main.cf を読みこみます。そして fml_version 変数から使うべきライブラリのバージョ ンを決めます。たとえば fml_vesrion が current-20010501 となっていたら /usr/local/lib/fml/current-20010501/ 以下にあるライブラリを使うといっ た具合です。

@INC (Perl のライブラリサーチパス)を設定した後、 loader (/usr/local/libexec/fml/distribute の実体) は FML::Process::Switch をロードし、$0 (プロセス名)を調べます。 その名前から自分の仕事は「配送処理」だと知ります。

loader は /usr/local/etc/fml/defaults/バージョン/modules ファイルを調べ、 ロードするべきモジュールが FML::Process::Distribute だと知ります。 最後に、このクラスをロードし、配送処理に移ります。

Prev | Home | Next
ＭＬに参加する | 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>.