[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .

コマンドを用意する基準

fml8 では、機能ごとに個別にコマンドを用意するようにしていますが、 どうも、このポリシーでは、やたらと多くなるだけのようです。 「できるだけ分離せずに makefml に統合するべき」でしょう。 そこで、以下のような基準に基づき用意することにしています(2003/03 記)。 "makefml に統合してある方が admin コマンドや CGI でも使えるようになりうるので、 再利用性が高く有益です。"

特定のMLに操作を施すコマンド (read/write)

特定のMLに対し、 何らかのデータを見るだけでなく変更/書き込み操作をする可能性があるなら、 makefml (or fml) のコマンドとして実装します。

makefml コマンド ML名 オプション
fml     ML名 コマンド オプション

特定のMLのデータを見るコマンド (read only)

特定のMLに対し、データ(ログや何かのサマリ)を見るだけでも、 makefml (or fml) のコマンドとして実装しましょう。

makefml コマンド ML名 オプション
fml     ML名 コマンド オプション

データを見るだけのコマンド (read only)

特定のMLと関わりのないコマンドがあり得ます。 たとえば、 モジュールのドキュメントを見るとか、 OS のアカウントやエイリアス一覧を表示させる類のものです。 これは fml が頭文字につくコマンドを別途用意します。

fmladdr	 [-n]
fmlalias [-n]
fmldoc   モジュール名
fmlconf  [-n] $ml
(ん〜 fmlconf だけ意味が違うか…)

MLごとの操作だが、単なるコマンドの wrapper

PGP / GPG コマンドの操作コマンド(例: fmlpgp)が、これにあたります。 でも、いいのか、この基準は…

実は、下請けのコマンドに渡すオプションを指定する必要があるので、 オプション解析の段階で困ってしまいます。 fml8 のオプションは解析し、 下請けのコマンドに渡すオプションは解析していはいけません。 「コマンドラインオプションなどを一切考えない特殊なモード」を作り込めば makefml に移すことが出来ないわけではないはずですが、こまりました。

操作を施すコマンドだが、 特定のMLとの関わりはないかも知れないタイプ (read / write ?)

これが一番困るケースのような気がしますが、どうしても作る必要があるなら、 fml が頭文字につくコマンドを別途用意します。

例: 記事のスプールを HTML 化する。

fmlhtmlify [-I DIR] $src_dir $dst_dir
ちなみに この例は fml に限定されず、ソースが MH フォルダなどでもかまいませんよね。 ちょっと特殊例です。

[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .
Copyright (C) 1993-2022 Ken'ichi Fukamachi mail:< fukachan at fml.org >