<!--
   $FML: chapter.onhost.sgml,v 1.7 2003/04/13 04:36:13 fukachan Exp $
-->

<chapter id="usage.onhost">
	<title>
	ＭＬサーバのホスト上でコマンドを使ってできること
	(ＭＬの一番偉い管理者にできること)
	</title>


<para>
makefml の基本的な使い方は &fml4; の makefml と同様です。
できるだけ同じ使い勝手になるように、
つまり互換性を保つようにしてあります。
</para>


<sect1>
	<title>
	ホスト上でできること、その権限について
	</title>

<para>
makefml を使う操作は
例えば、メンバーの登録に confirmation は必要ありません。
</para>

<para>
ＭＬサーバのホストに入ることができる(例: slogin してシェルが取れる)人
は、ＭＬにとって最強の権限を持つ人を意味します。ファイルを直接編集する
ことで、どんなことでもできるわけですから、無敵です。
だから特権的な操作であるわけです。
</para>

<para>
しかしながら、人間間違いを犯すもので、ついフォーマットを
間違えるといったことがあります。
</para>

<para>
そのためファイルの直接編集などはせずに、通常は「makefml (
/usr/local/bin/makefml )を使うことで fml の設定を変更して下さい」とい
うポリシーが推奨されています。もちろんファイルを編集しても構いませんが、
内部構造などを良く理解してからにしてください。
</para>

<para>
なお、fml コマンドは引数の順番の異なる makefml です。
<screen>
makefml コマンド ＭＬ名 オプション
fml     ＭＬ名 コマンド オプション
</screen>
コマンドの中身/動作は同じですので、
シンタックスの好き嫌いで、どちらかを選んで使ってもらえばよいでしょう。
</para>

</sect1>


<sect1 id="usage.commandpolicy">
	<title>
	コマンドを用意する基準
	</title>

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


<sect2>
	<title>
	特定のＭＬに操作を施すコマンド (read/write)
	</title>

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

</sect2>


<sect2>
	<title>
	特定のＭＬのデータを見るコマンド (read only)
	</title>

<para>
特定のＭＬに対し、データ(ログや何かのサマリ)を見るだけでも、
makefml (or fml) のコマンドとして実装しましょう。
<screen>
makefml コマンド ＭＬ名 オプション
fml     ＭＬ名 コマンド オプション
</screen>
</para>

</sect2>


<sect2>
	<title>
	データを見るだけのコマンド (read only)
	</title>

<para>
特定のＭＬと関わりのないものもある。モジュールのドキュメントを見るとか、
OS のアカウントやエイリアス一覧を表示させる類のものだ。
これは fml が頭文字につくコマンドを別途用意する。
<screen>
fmladdr	 [-n]
fmlalias [-n]
fmldoc   モジュール名
fmlconf  [-n] $ml
</screen>
</para>

</sect2>


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

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

<para>
例: 記事のスプールを HTML 化する。
でも、fml に限らず、MH フォルダでも構わない。
<screen>
fmlhtmlify [-I DIR] $src_dir $dst_dir
</screen>
</para>

</sect2>


</sect1>


&sect.usage.makefml;
&sect.usage.fml;
&sect.usage.fmladdr;
&sect.usage.fmlalias;
&sect.usage.fmlconf;
&sect.usage.fmldoc;
&sect.usage.fmlhtmlify;

</chapter>
