diff options
Diffstat (limited to 'fml/doc/ja/tutorial/command/internal.sgml')
| -rw-r--r-- | fml/doc/ja/tutorial/command/internal.sgml | 49 |
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> |
