summaryrefslogtreecommitdiff
path: root/fml/doc/ja/tutorial/command/internal.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'fml/doc/ja/tutorial/command/internal.sgml')
-rw-r--r--fml/doc/ja/tutorial/command/internal.sgml49
1 files changed, 28 insertions, 21 deletions
diff --git a/fml/doc/ja/tutorial/command/internal.sgml b/fml/doc/ja/tutorial/command/internal.sgml
index da15a09a..7a0e8cb5 100644
--- a/fml/doc/ja/tutorial/command/internal.sgml
+++ b/fml/doc/ja/tutorial/command/internal.sgml
@@ -1,5 +1,5 @@
<!--
- $FML: internal.sgml,v 1.12 2005/08/03 13:44:54 fukachan Exp $
+ $FML: internal.sgml,v 1.13 2008/08/17 18:28:36 fukachan Exp $
-->
@@ -43,10 +43,10 @@ FML::Process::Command クラスから
<warning>
<para>
-全てのコマンドは FML::Command::User::コマンドもしくは
-FML::Command::Admin::コマンドクラスとして実装されています。なお
-makefml や CGI は FML::Command::Admin::コマンド を使います。コマンドメー
-ルは User や Admin を権限に応じて適宜使い分けます。
+全てのコマンドは「FML::Command::User::コマンド」クラスもしくは
+「FML::Command::Admin::コマンド」クラスとして実装されています。なお
+makefml は「FML::Command::Admin::コマンド」を使います。
+コマンドメールや CGI は User や Admin を権限に応じて適宜使い分けます。
</para>
</warning>
@@ -56,7 +56,7 @@ help コマンドの実体は FML::Command::User::help の process() 関数です。
sub process
{
my ($self, $curproc, $optargs) = @_;
- my $config = $curproc->{ config };
+ my $config = $curproc->config();
my $charset = $config->{ report_mail_charset_ja };
my $help_file = $config->{ help_file };
@@ -80,27 +80,29 @@ sub process
}
}
</screen>
-ここで $curproc はハッシュリファレンスで、&fml4; の %Envelope に概ね相
-当します。名前の通り、Unix カーネルでおなじみの current process 構造体
-へのポインタのようなもので、プロセスに関連するいろいろなデータ構造やオ
-ブジェクトへのリファレンスを含んでいます。
+ここで $curproc はハッシュリファレンスで、&fml4; の %Envelope におおむ
+ね相当します。名前の通り、Unix カーネルでおなじみの current process 構
+造体へのポインタのようなもので、プロセスに関連するいろいろなデータ構造
+やオブジェクトへのリファレンスを含んでいます。
</para>
<para>
-変数ですが、&fml4; では全てグローバルです。一方 &fml8; では $config オ
-ブジェクトを通じてアクセスできる設定変数空間の中にあります。
+&fml4; の変数は、すべてグローバル変数です。一方 &fml8; では $config オ
+ブジェクトを通じてアクセスできる設定変数空間の中にあります。常に
+$config オブジェクトを通じて読み書きをしてください。
</para>
<para>
-reply_message_prepare_template() はメッセージテンプレートの中にある変
-数の展開や文字コード変換を適宜行ない、準備したテンプレートへのファイル
-パスを返します。
+reply_message_prepare_template() メソッドは送り返すメッセージのテンプ
+レート中にある変数の展開や文字コード変換を行ない、生成されたテンプレー
+トへのファイルパスを返します(テンプレートファイルは $tmp_dir ディレク
+トリに作られます)。
</para>
<para>
首尾良くテンプレートファイルを用意できたら、
$curproc->reply_message() というプロセス全体のメッセージ処理を行なう関
-数群ののトップレベルメソッドを呼び出し、メッセージの処理を依頼します。
+数群のトップレベルメソッドを呼び出し、メッセージの返送処理を依頼します。
</para>
<para>
@@ -109,6 +111,11 @@ $curproc->reply_message() は引数によって振舞いがことなりますが、
</para>
<para>
+コマンドモジュールでの処理は、キューに入れたところで終りとなります。
+以下の返送処理は、どんな時でも行なわれる通常のフローの一部です。
+</para>
+
+<para>
メッセージキューに入れられたメッセージ群は、プロセスの終了直前に受信者
ごとにメッセージがまとめられ一通のメールとして組み立てなおされます。
メッセージキューの種類がファイルとメッセージが混在している場合は適宜
@@ -123,16 +130,16 @@ Mail::Delivery クラスが送信処理を担当するモジュールです。
</para>
<para>
-この仕組みは &fml4; の Notify() と同様ですが、あらゆるメッセージがキュー
-に入れられ、最後に一気に処理されるという点で大きく異なります。
+この返送の大筋は &fml4; の Notify() と同様ですが、あらゆるメッセージが
+一度キューに入れられ、最後に一気に処理されるという点で大きく異なります。
</para>
<para>
なお get コマンドなども同じキューイングの仕組みを使っています。つまり
&fml4; の Notify() 相当部分が(通常の記事配送以外の)あらゆる送信機能を
-担当し、かつキューイングのみをしています。そしてキューイングされたメッ
-セージは最後に一気に処理されます。この点において、送信のキューイングの
-メカニズムは &fml4; と大きく異なっています。
+担当し、かつキューイングのみをします。そしてキューイングされたメッセー
+ジは最後に一気に処理されます。この点において、送信のキューイングのメカ
+ニズムが &fml4; と大きく異なっているわけです。
</para>
</sect1>