<!-- -*- mode:text coding:euc-jp -*-
 $FML: recipes.command.sgml,v 1.2 2008/08/18 02:23:59 fukachan Exp $
-->


<qandaset>


<qandaentry>

<question>
<para>
コマンドメールなどの返事は Reply-To: ではなく From: へ
</para>
</question>

<answer>
<para>
コマンドメールの送信者(From:)へ返事を返すのがデフォルトの挙動です。
</para>
</answer>

</qandaentry>


<qandaentry>

<question>
<para>
help などのメッセージをアップグレードする
</para>
</question>

<answer>
<para>
&fml8; をアップグレードすれば自動的にアップグレードされます。
&fml4; と異なり &fml8; では
help コマンドのメッセージテンプレートは次のようなパスに存在するからです。
<screen>
/usr/local/share/fml/$VERSION/message/euc-jp/user/help
/usr/local/share/fml/$VERSION/message/us-ascii/user/help
</screen>
</para>

<para>
ただしＭＬのホームディレクトリに help ファイルがある場合は
それが help コマンドの返事に使われています。
よって help ファイルを自分で用意している場合、自分で編集してください。
</para>

</answer>

</qandaentry>


<qandaentry>

<question>
<para>
help メッセージの元ファイルをカスタマイズする。
</para>
</question>

<answer>
<para>
&fml8; では
help コマンドのメッセージテンプレートは次のようなパスに存在します。
これを編集してしまうというのが第一案。
ただし、これをするとバージョンアップをした際に変更点が無効になってしまいます。
<screen>
/usr/local/share/fml/$VERSION/message/euc-jp/user/help
/usr/local/share/fml/$VERSION/message/us-ascii/user/help
</screen>
</para>

<para>
ＭＬ独自の help メッセージは
ＭＬホームディレクトリの下に「local/share/message/言語/」を作り、
その下におけば有効になります。
<screen>
[Example]

/var/spool/ml/elena/local/share/message/euc-jp/user/help
/var/spool/ml/elena/local/share/message/us-ascii/user/help
</screen>
常にこのファイルが使われるので、
バージョンアップしても内容は変わりません。
それが欠点です。
</para>

<para>
なおＭＬのホームディレクトリに help ファイルがある場合は
それが help コマンドの返事に使われています(優先されます)。
よって help ファイルを自分で用意しているなら
自分で編集してください。
この場合も、常にこのファイルが使われるので、
バージョンアップしても内容は変わりません。
バージョンアップした場合、変更点を自分でファイルに反映させないといけません。
逆に言えば、それが欠点です。
</para>

</answer>

</qandaentry>


<qandaentry>

<question>
<para>
confirmation メッセージをカスタマイズする
</para>
</question>

<answer>
<para>
help メッセージのカスタマイズと同様ですので、
くわしくは前レシピを参照して下さい。
<screen>
/usr/local/share/fml/$VERSION/message/euc-jp/command/confirm
/usr/local/share/fml/$VERSION/message/us-ascii/command/confirm
</screen>
</para>
</answer>

</qandaentry>


<qandaentry>

<question>
<para>
news というファイルを送り返すコマンドを作る
</para>
</question>

<answer>
<para>
このＭＬの最新情報が書き込まれている
$ml_home_dir/news というファイルがあるとしましょう。
これをＭＬのメンバーなら誰でも取り寄せられるようにしたい。
そういった例を考えます。
</para>

<para>
一番簡単な作り方は help コマンドを参考に news コマンドを作成することでしょう。
たとえば FML::Command::User::help モジュール(
/usr/local/lib/fml/$VERSION/FML/Command/User/help.pm
)
をコピーして
FML::Command::User::news (
/usr/local/lib/fml/site_local/FML/Command/User/news.pm
)
モジュールを作ってください。
そして、news.pm の中の help という文字列を news に変えるだけです。
<screen>
[例]

... 略 ...

sub process
{
    my ($self, $curproc, $command_args) = @_;

    $self->send_user_xxx_message($curproc, $command_args, "news");
}
... 略 ...
</screen>
</para>

<para>
<link linkend="customize.command.myproc">
<xref linkend="customize.command.myproc">
</link>
や
<link linkend="fml.command.hack.commandmail">
<xref linkend="fml.command.hack.commandmail">
</link>
も参照してください。
</para>
</answer>

</qandaentry>


<qandaentry>

<question>
<para>
mget コマンドのファイルモードのデフォルトを変更したい
</para>
</question>

<answer>
<para>
いまのところできません。
</para>

<para>
じつのところ、get コマンドと mget コマンドは同じです。
そして、いまのところ get コマンドのファイルモードは変更できません。
</para>
</answer>

</qandaentry>



<qandaentry>

<question>
<para>
get コマンドを mget mp と同じ意味にする
</para>
</question>

<answer>
<para>
&fml8; ではデフォルトで、
その意味(MIME/Multipart モード)になっています。
</para>

<para>
正確には、get と mget は同じコマンドで、
get コマンドのファイルモードは
(いまのところ) MIME/Multipart しかありません。
</para>
</answer>

</qandaentry>


<qandaentry>

<question>
<para>
command status report を抑制したい
</para>
</question>

<answer>
<para>
いまのところ、
フィルタについては off/on できますが、
一般には出来ません。
</para>
</answer>

</qandaentry>


<qandaentry>

<question>
<para>
コマンドメールの内容を監視したい
</para>
</question>

<answer>
<para>
(1) ログを perl で加工する。
</para>

<para>
(2) コマンドメール自体のコピーを受けとる。
たとえば、
コマンドメールを受けとる設定のところに管理者も追加しておくといった具合です。
<screen>
elena-ctl: :include:/var/spool/ml/elena/include-ctl, elena-admin
</screen>
</para>
</answer>

</qandaentry>


</qandaset>
