記事の投稿 (配送処理プログラムについて)
fml.org の elena MLへの投稿は、
普通にメールを elena@fml.org に送信することです。
メールは MTA が受け、最終的に MTA は
/usr/local/libexec/fml/distribute
というコマンドを実行します。
fml.pl はメールを標準入力から受けとり、
MLとして必要な処理(記事の保存やヘッダの書き換え)をした後、
MTA へ配送処理を委ねます。
fml.pl が MLとして処理するべきこと
subject のタグをつける、もしくは記事番号などを更新するなど
例
Subject: [elena:00100] えれなさん素敵
(デフォルトではつけません)
記事の保存(テキストファイル)
HTML 化された記事を作る。
~fml/public_html/ 以下に作成されます。
スレッド追跡システムのデータベースを更新する。
投稿記事の振舞いを制御する変数
ごめん、まだ、書いてない
解説: ブートしていく様子
fml ブートローダ
の章でも例に上げているように、次のようにブートします。
libexec/loader は etc/fml/main.cf を読みこみます。
fml_version 変数から使うべきライブラリのバージョンを決めます。
例えば fml_vesrion が current-20010501 となっていたら
/usr/local/lib/fml/current-20010501/ 以下にあるライブラリを使うといった
具合です。
@INC を設定した後、
loader は FML::Process::Switch をロードし、
$0 を調べます。
その名前から自分の仕事は配送処理だと知ります。
配送処理なので
FML::Process::Distribute をロードし、配送処理に移ります。