次世代 fml プロジェクト
http://www.fml.org/devel/fmlsrc/index.ja.html
Copyright (C) 2001 Ken'ichi Fukamachi
改変しない限り再配布は自由です
fml 5.0 への道(はるかなる道)について現在次のように構想しています。
基本的な考え方は fml 4.0 の”機能”を再構想/再実装することです。
まず最初にしたいことは 4.0 の機能についての再検討です。例えば
5.0 へ引き継ぐものは何か?
5.0 でもっとうまく、よりカスタマイズしやすいものに実装できないか?
もう要らないものは何か?
についての意見を募集したいと思っています。ですが、漠然と議論してもしょ
うがないので、議論の叩き台としてある程度動くものを作りました。
ftp://ftp.fml.org/pub/fml-devel/
にあります。まだまだ 5.0 の α 版ではなく、プロトタイプですらないので、
リリースなどではありません。これは、あくまでもアイデアを表現するための
ものですが、配送プログラムとしては十分動きます。fml-devel MLをはじめ
として、いくつか運用テストに入っているものがあります。
#注: 実運用には fml-devel を使わずに 4.0 stable を使って下さい。
# fml-devel は開発用 fml-current ですらありません。
現状動いている機能は
fml 1.2 相当の最低限の機能
+ postfix スタイルの設定ファイル
+ IPv6
+ チケットシステム(最小限の機能、CGI 含む)
+ 抽象化 IO 層
メンバーファイルをファイル、/etc/group, NIS, MySQL
から取り出す。
# 3 行くらい変更すれば PostgreSQL も動くはず
程度です。ざっくりとしたイメージは sendmail と postfix のような違いか
と個人的には思っています。
○ fml 4.0 と 5.0 の関係
http://www.fml.org/devel/fmlsrc/fml/doc/purpose.ja.html
4.0 と 5.0 はアイデアは継承していても、起源は別です。
図解すれば次のようなものといえます。
-----------------------------> 5.0 (本プロジェクトの目標)
↑↓交流
1.2 〜 4.0 ------------------------------> 4.0-current
| |
4.0.1 4.0.2 .... (リリース / 4.0-stable バージョン)
今後 4.0 シリーズに投入する新機能は、原則として 5.0 ライン上で作ったも
のを逆輸入する形になるでしょう。
○ fml5で既に動く機能
http://www.fml.org/devel/fmlsrc/fml/doc/built_already.ja.html
これらのものは /usr/local/libexec/fml以下にインストールされます。実際には
/usr/local/libexec/fml/loaderへのリンクです。起動される時の名前で振舞いを変
えています。
注意: fml5ではすべてのプログラムは /usr/local/libexec/fml/loaderを経由して
起動されます。バージョン依存性を処理するために、つねにこの loaderを通して
起動していくことになっています。
+------------------+--------------------------------------------------------+
|fml.pl |配送処理をする。subjectを書き換える。スプールに記事とし |
|distribute |て溜める。IPv6をしゃべる。チケット番号をふる。et. al. |
+------------------+--------------------------------------------------------+
|command |プログラム自体は動きますが、機能するコマンドはまだない |
|fml.pl --ctladdr |です。 |
+------------------+--------------------------------------------------------+
|makefml |登録と削除関係、および最低限のMLの作成だけは動きます( |
| |add subscribe |
| |bye unsubscribe resign remove |
| |そして newml)。使い方は fml 4.0と一緒です。 |
| |% makefml add elenaアドレス |
| |% makefml bye elenaアドレス |
| |% makefml newml elena |
+------------------+--------------------------------------------------------+
|makefml.cgi |makefmlの CGIインターフェイス。うごくけど、まだプロトタ |
| |イプ。動く機能は makefmlと同等のものです。それは最終的 |
| |に makefmlと同じ関数を呼び出しているからです。 |
+------------------+--------------------------------------------------------+
|fmlconf |変数一覧を表示します |
+------------------+--------------------------------------------------------+
|fmldoc |モジュールのマニュアルを表示する |
| |perldocへの wrapperです。 |
+------------------+--------------------------------------------------------+
|fmlticket |現在のチケットシステムのサマリを表示する |
| |チケットの close |
+------------------+--------------------------------------------------------+
|fmlticket.cgi |fmlticketの CGI版 |
| |チケットを closeする。あるチケットに該当する記事群を表 |
| |示する。 |
+------------------+--------------------------------------------------------+
|mead |ま〜だだよ |
+------------------+--------------------------------------------------------+
|fmlserv |ま〜だだよ |
+------------------+--------------------------------------------------------+