diff options
Diffstat (limited to 'fml/doc')
65 files changed, 686 insertions, 473 deletions
diff --git a/fml/doc/ja/tutorial/book.sgml b/fml/doc/ja/tutorial/book.sgml index 1ebd0195..db0ee1f6 100644 --- a/fml/doc/ja/tutorial/book.sgml +++ b/fml/doc/ja/tutorial/book.sgml @@ -2,7 +2,7 @@ This is an sgml using DocBook dtd. Use sgmltools version 2.0.x or above to generate various output formats. -$FML: book.sgml,v 1.66 2004/04/07 11:01:28 fukachan Exp $ +$FML: book.sgml,v 1.67 2004/10/02 14:29:45 fukachan Exp $ --> <!doctype book public "-//FML//DTD DocBook V3.1-Based Extension//EN" [ @@ -18,7 +18,10 @@ $FML: book.sgml,v 1.66 2004/04/07 11:01:28 fukachan Exp $ <toc></toc> <part> - <title> fml の基本的な使い方 </title> + <title> + fml の基本的な使い方 + </title> + <partintro> <para> 本パートは初心者向けの設定ガイドを目指しています。 @@ -41,10 +44,15 @@ $FML: book.sgml,v 1.66 2004/04/07 11:01:28 fukachan Exp $ <part> - <title> fml のセットアップ〜MLの作成 </title> + <title> + fml のセットアップ〜MLの作成 + </title> + <partintro> <para> トピックスごとに、まとめます。 + セットアップの際に行なうであろう + 標準的な順番に沿って解説しているつもりです。 </para> </partintro> @@ -74,7 +82,10 @@ $FML: book.sgml,v 1.66 2004/04/07 11:01:28 fukachan Exp $ <part> - <title> fml のカスタマイズ </title> + <title> + fml のカスタマイズ + </title> + <partintro> <para> トピックスごとに、まとめます。 @@ -109,21 +120,26 @@ $FML: book.sgml,v 1.66 2004/04/07 11:01:28 fukachan Exp $ <part> - <title> トラブルシューティング </title> + <title> + トラブルシューティング + </title> + <partintro> <para> 本パートではトラブルシューティングの話をします。 </para> </partintro> - &chapter.troubleshoot; </part> <part> - <title> デザイン </title> + <title> + デザイン + </title> + <partintro> <para> 本パートではデザインの話をします。 @@ -136,7 +152,10 @@ $FML: book.sgml,v 1.66 2004/04/07 11:01:28 fukachan Exp $ <part> - <title> 内部構造 </title> + <title> + 内部構造 + </title> + <partintro> <para> 本パートでは開発者向けの内容についてまとめます。 @@ -196,7 +215,10 @@ $FML: book.sgml,v 1.66 2004/04/07 11:01:28 fukachan Exp $ <part> - <title> モジュール </title> + <title> + モジュール + </title> + <partintro> <para> 本パートでは重要なモジュールの使い方を説明します。 @@ -215,7 +237,9 @@ $FML: book.sgml,v 1.66 2004/04/07 11:01:28 fukachan Exp $ *************** ここから後は付録 ************** --> <part> - <title> 付録 </title> + <title> + 付録 + </title> &chapter.glossary; &chapter.cvstree; diff --git a/fml/doc/ja/tutorial/changes/chapter.sgml b/fml/doc/ja/tutorial/changes/chapter.sgml index 8eec40d7..b07560b9 100644 --- a/fml/doc/ja/tutorial/changes/chapter.sgml +++ b/fml/doc/ja/tutorial/changes/chapter.sgml @@ -1,5 +1,5 @@ <!-- - $FML: chapter.sgml,v 1.2 2004/04/07 11:06:59 fukachan Exp $ + $FML: chapter.sgml,v 1.3 2004/10/06 09:07:33 fukachan Exp $ --> @@ -13,6 +13,11 @@ 本章では、fml4 と fml8 の違いについて解説します。 </para> +<para> +fml4 vs fml8 は sendmail vs postfix にあたるというのが直観的な捉え方で +す。 +</para> + <sect1 id="changes.license"> <title> @@ -20,27 +25,36 @@ </title> <para> -大雑把に言えば、ソースコードは GPL か BSD 準拠、もしくは Artistic のい -づれかになっているはずです。 +大雑把に言えば、fml8 のソースコードは GPL か BSD 準拠、もしくは +Artistic のいづれかになっているはずです。 </para> <para> fml4 は、ほとんどのコード(.plのもの)が独自に書かれています。このライセ ンスは GNU Public License です。jcode.pl が例外で、詳しくは jcode.pl の先頭部分のライセンスを参照して下さい。 +また、perl module (.pm) も使われており、それはソースツリーの module/ +の下に入っています。この下のライセンスも各モジュールに従います。 </para> <para> -また、perl module (.pm) も使われており、それはソースツリーの module/ -の下に入っています。この下のライセンスも各モジュールに従って下さい。 +fml8 では、ソースツリーがプロジェクトもしくはライセンスごとに分かれて +いますので、各分類ごとのライセンスにしたがうことになります。fml8 用に +書かれたコードは fml/ 以下にあり、Artistic License となっています。 +cpan gnu はその名の通りです。img は BSD ライセンス準拠です。詳しくは、 +それぞれのライセンスを読んで下さい。 </para> <para> -fml8 では、ソースツリーがプロジェクトもしくはライセンスごとに分かれて -いますので、各分類ごとのライセンスにしたがってください。fml8 用に書か -れたコードは fml/ 以下にあり、Artistic License となっています。cpan -gnu はその名の通りです。img は BSD ライセンス準拠です。詳しくは、それ -ぞれのライセンスを読んで下さい。 +ディレクトリごとに分かれているため、 +特定のライセンスのコードを排除することも(原理的には)容易です。 +</para> + +<para> +fml8 は、インストール時に、これらすべてをインストールしてしまいますの +で、インストールした先ではライセンスがいり乱れていますので注意して下さ +い。もしライセンスをクリアにしたいなら必要な代替品を用意してインストー +ル手順を変える必要があります。 </para> </sect1> @@ -48,11 +62,12 @@ gnu はその名の通りです。img は BSD ライセンス準拠です。詳しくは、それ <sect1 id="changes.command.mail"> <title> - fml4 と fml8 の違い: コマンドメール + fml4 と fml8 の違い: コマンドメールやエラーメッセージ </title> <para> -返事の際には、Accept-Language などを参考に言語の自動選択が行なわれます。 +コマンドメールやエラーメールといったメールでの返事の際には、 +元メールの Accept-Language などを参考に言語の自動選択が行なわれます。 詳しくは <link linkend="language.preference"> <xref linkend="language.preference"> @@ -61,10 +76,7 @@ gnu はその名の通りです。img は BSD ライセンス準拠です。詳しくは、それ </para> <para> -ファイルを送り返す際、基本は MIME/Multipart です。 -</para> - -<para> +ファイルやメッセージを送り返す際の基本形式は MIME/Multipart です。 また、現在、tar.gz や zip 形式などは未サポートです。 </para> @@ -155,7 +167,8 @@ makefml から実行される各コマンドの相違点は以下の通りです。 <para> 将来の課題としては、GUI のスキンを選べるようにするなども考えなくてはい -けないでしょう。 +けないでしょう。一応、今、実行ファイル名ごとに異なる複数のスキンがある +のですが、動的に切替えたり出来ません。 </para> </sect1> @@ -181,13 +194,21 @@ makefml から実行される各コマンドの相違点は以下の通りです。 <para> 受信者とメンバーリストを別々に管理するという方針は変わりませんが、 ファイル名は異なります。 +</para> + +<para> +ファイル名は基本的に「ベースとなるファイル名-役割」です。 +役割がデフォルトの「単なるユーザ」であれば省略可です。 +</para> + +<para> actives は recipients となり、ファイルの意味が明瞭になりました。 一方、members はそのままです。 </para> <para> members-admin は、そのままです。 -仮想的に recipients-admin ファイルもあります。使われてはいません。 +仮想的に recipients-admin ファイルもありますが、いまは使われてはいません。 </para> <para> diff --git a/fml/doc/ja/tutorial/command/dataflow.sgml b/fml/doc/ja/tutorial/command/dataflow.sgml index 2188e4e8..a7f1f5e8 100644 --- a/fml/doc/ja/tutorial/command/dataflow.sgml +++ b/fml/doc/ja/tutorial/command/dataflow.sgml @@ -1,5 +1,5 @@ <!-- - $FML: dataflow.sgml,v 1.3 2004/04/07 11:07:00 fukachan Exp $ + $FML: dataflow.sgml,v 1.4 2004/10/06 09:07:33 fukachan Exp $ --> @@ -43,12 +43,16 @@ <para> 1) guideやsubscribeのようにメンバー以外にも許されるコマンドであれば、 直接コマンド呼び出しルーチンへ処理が移ります。 + ここで許されるコマンドは anonymous_command_mail_allowed_commands + で定義されているコマンドです。 </para> <para> 2) メンバーだけに許されるコマンドの場合、 command_mail_restrictionsのルールに従って他の条件を確認し、 許されたなら、呼び出しルーチンへ処理が移ります。 + ここで許されるコマンドは user_command_mail_allowed_commands + で定義されているコマンドです。 </para> <para> @@ -61,11 +65,17 @@ FML::Command クラス経由でコマンドが実行されます。 <para> admin コマンドの実行は、ここでは行なわれません。「admin ...」コマンド -は、まず一般ユーザ権限の admin コマンドとして処理が薦められ、最終的に -「FML::Command::User::admin」クラスが呼び出されます。このクラスの中で、 -$admin_command_mail_restrictions に基づいてリモート権限があるか?が確 -認され、もう一度「FML::Command」クラス経由で管理者権限の -「FML::Command::Admin::コマンド」クラスが呼び出されます。 +は、まず一般ユーザ権限の admin コマンド +<footnote> +<para> +注: admin コマンドは user_command_mail_allowed_commands で許されています +</para> +</footnote> +として処理が薦められ、最終的に 「FML::Command::User::admin」クラスが呼 +び出されます。このクラスの中で、$admin_command_mail_restrictions に基 +づいてリモート権限があるか?が確認され、もう一度「FML::Command」クラス +経由で管理者権限の「FML::Command::Admin::コマンド」クラスが呼び出され +ます。 </para> </sect2> @@ -77,9 +87,10 @@ $admin_command_mail_restrictions に基づいてリモート権限があるか?が確 </title> <para> -このプログラムを使える時点で管理者権限があるはずです。よって、 -FML::Command経由で「FML::Command::Admin::コマンド」クラスを直接呼び出 -しています。 +このプログラムを使える時点で管理者権限(MLのサーバにリモートで入り、 +ユーザ fml に su できる権限)があるはずです。よって、特別な制限はありま +せん。FML::Command経由で「FML::Command::Admin::コマンド」クラスを直接 +呼び出しています。 </para> </sect2> diff --git a/fml/doc/ja/tutorial/command/extension.sgml b/fml/doc/ja/tutorial/command/extension.sgml index 1acccf54..1ef21a28 100644 --- a/fml/doc/ja/tutorial/command/extension.sgml +++ b/fml/doc/ja/tutorial/command/extension.sgml @@ -1,5 +1,5 @@ <!-- - $FML: extension.sgml,v 1.11 2004/04/07 11:07:00 fukachan Exp $ + $FML: extension.sgml,v 1.12 2004/10/06 09:07:33 fukachan Exp $ --> @@ -48,11 +48,11 @@ <para> ユーザ向けのコマンド uja を作りたい場合、 -FML::Command 以下から適当に cut and paste して +FML::Command::User 以下のモジュールから適当に cut and paste して <screen> /usr/local/lib/fml/site_local/FML/Command/User/uja.pm </screen> -というファイルを置き、設定ファイルで +というファイルを作り、設定ファイルで uja を許可するコマンドリストに追加して下さい。 全ての ML で有効にする場合は、site_default_config.cf で、 @@ -79,11 +79,11 @@ user_command_mail_allowed_commands += uja <para> admin 向けのコマンド uja を作りたい場合、 -FML::Command 以下から適当に cut and paste して +FML::Command::Admin 以下から適当に cut and paste して <screen> /usr/local/lib/fml/site_local/FML/Command/Admin/uja.pm </screen> -というファイルを置いてください。 +というファイルをつくってください。 全ての ML で有効にする場合は、site_default_config.cf で、 @@ -135,12 +135,12 @@ admin_command_mail_allowed_commands += uja <para> makefml でコマンド uja を作いたい場合、 -FML::Command 以下から適当に cut and paste して +FML::Command::Admin 以下から適当に cut and paste して <screen> /usr/local/lib/fml/site_local/FML/Command/Admin/uja.pm </screen> -というファイルを置けば有効になります -モジュールを置くだけで有効になります。 +というファイルをつくるだけで有効になります +つまりモジュールを置くだけで有効になります。 *_allowed_commands 系の変数の設定変更は不要です。 </para> @@ -156,6 +156,12 @@ FML::Command 以下から適当に cut and paste して <warning> + +<para> +以下の記述で利用可能な機能を追加することが出来ますが、 +別途、画面の作り込みが必要です。 +</para> + <para> このホスト全ての ML で有効にする場合、 拡張するモジュールを @@ -183,7 +189,9 @@ FML::Command 以下から適当に cut and paste して /usr/local/lib/fml/site_local/FML/Command/Admin/uja.pm </screen> というファイルを置いてください。 +</para> +<para> 全ての ML で有効にする場合は、site_default_config.cf で、 許可するコマンドリストに追加してください。 <screen> @@ -199,5 +207,4 @@ admin_cgi_allowed_commands += uja </screen> </para> - </sect1> diff --git a/fml/doc/ja/tutorial/command/internal.sgml b/fml/doc/ja/tutorial/command/internal.sgml index ebbcf26a..5a56d026 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.9 2004/04/21 08:48:47 fukachan Exp $ + $FML: internal.sgml,v 1.10 2004/10/06 09:07:33 fukachan Exp $ --> @@ -35,7 +35,7 @@ sub myProcHelpFileSendBack </para> <para> -&fml8; では help ファイルを送り返すコードの実体は +一方、&fml8; では help ファイルを送り返すコードの実体は FML::Command::User::help にあり、 FML::Process::Command クラスから (FML::Command の AUTOLOAD を経由して)呼び出されます。 @@ -65,7 +65,7 @@ sub process src => $help_file, charset_out => $charset, }; - my $help_template = $curproc->prepare_file_to_return( $params ); + my $help_template = $curproc->reply_message_prepare_template( $params ); if (-f $help_template) { $curproc->reply_message( { @@ -80,32 +80,37 @@ sub process } } </screen> -ここで $curproc はハッシュリファレンスで、&fml4; の %Envelope におおむ -ね相当します。名前の通り、UNIX カーネルでおなじみの current process 構 -造体へのポインタのようなもので、プロセスに関連するいろいろなデータ構造 -やオブジェクトへのリファレンスを含んでいます。 +ここで $curproc はハッシュリファレンスで、&fml4; の %Envelope に概ね相 +当します。名前の通り、UNIX カーネルでおなじみの current process 構造体 +へのポインタのようなもので、プロセスに関連するいろいろなデータ構造やオ +ブジェクトへのリファレンスを含んでいます。 </para> <para> -変数ですが、&fml4; ではグローバル変数群です。一方 &fml8; では $config -オブジェクトを通じてアクセスできる設定変数空間の中にあります。 +変数ですが、&fml4; では全てグローバルです。一方 &fml8; では $config オ +ブジェクトを通じてアクセスできる設定変数空間の中にあります。 </para> <para> -prepare_file_to_return() はメッセージテンプレートの中にある変数の展開 -や文字コード変換を適宜行ないます。 +reply_message_prepare_template() はメッセージテンプレートの中にある変 +数の展開や文字コード変換を適宜行ないます。 </para> <para> $curproc->reply_message() は引数によって振舞いがことなりますが、 -いずれにせよ、メッセージをキューに入れるメソッドです。 +いずれにせよ、メッセージをメッセージキューに入れるメソッドです。 </para> <para> -キューに入れられたメッセージ群は、プロセスの終了直前に受信者ごとにメッ -セージはまとめられ一通のメールとして組み立てなおされ、Mail::Delivery -クラス経由で送信されます。メッセージキューの種類がファイルとメッセージ -が混在していれば、適宜 MIME マルチパートのメッセージが生成されます。 +メッセージキューに入れられたメッセージ群は、プロセスの終了直前に受信者 +ごとにメッセージがまとめられ一通のメールとして組み立てなおされます。メッ +セージキューの種類がファイルとメッセージが混在している場合は適宜 MIME +マルチパートのメッセージが生成されます。 +</para> + +<para> +Mail::Delivery クラスが送信処理を担当するモジュールです。生成されたメー +ルは最終的に Mail::Delivery クラスへ渡され送信処理が行なわれます。 </para> <para> diff --git a/fml/doc/ja/tutorial/customize/autoreply.sgml b/fml/doc/ja/tutorial/customize/autoreply.sgml index 06f97866..d1846df8 100644 --- a/fml/doc/ja/tutorial/customize/autoreply.sgml +++ b/fml/doc/ja/tutorial/customize/autoreply.sgml @@ -1,5 +1,5 @@ <!-- - $FML: autoreply.sgml,v 1.3 2004/04/07 11:07:01 fukachan Exp $ + $FML: autoreply.sgml,v 1.4 2004/10/06 09:07:34 fukachan Exp $ --> @@ -40,7 +40,8 @@ $distribute_run_start_hook = q{ $curproc->stop_this_process(); </screen> が &fml4; の $DO_NOTHING 変数にあたりますが、&fml8; ではメソッドです。 -これで、このHOOK以降、正常の処理が無視されるようになります。 +これで、この HOOK 以降、正常の処理が無視されるようになります。 +つまり、なにも実行されなくなるというわけです。 </para> </sect1> diff --git a/fml/doc/ja/tutorial/customize/case_studies.sgml b/fml/doc/ja/tutorial/customize/case_studies.sgml index 5fecba0b..e8ca4868 100644 --- a/fml/doc/ja/tutorial/customize/case_studies.sgml +++ b/fml/doc/ja/tutorial/customize/case_studies.sgml @@ -1,5 +1,5 @@ <!-- - $FML: case_studies.sgml,v 1.6 2004/04/07 11:07:01 fukachan Exp $ + $FML: case_studies.sgml,v 1.7 2004/10/06 09:07:34 fukachan Exp $ --> @@ -14,34 +14,39 @@ </para> <para> -ヘッダ関連では、まず Subject: にタグをつけないことにしました。 +ヘッダ関連では、まず Subject: にタグをつけない <footnote> <para> なお、この設定はデフォルトの site_default_config.cf に仕込まれています。 つまり &fml8; のデフォルトです。 </para> </footnote> -ことにした。 +ことにしました。 <screen> article_header_rewrite_rules -= rewrite_article_subject_tag </screen> +この例は「ヘッダ書換えのルール」から「タグをつける」命令を抜く設定です。 </para> <para> そして、X-ML-Name: 部分の mlname にオフィス名をつける(prepend する)、 -つまり mlname から office#mlname へ変更します。 +つまり mlname から office#mlname へ変更するようにします。 <screen> -# office#$mlname outgoing_mail_header_x_ml_name = office#$ml_name </screen> </para> <para> 記事は誰でも投稿可能としましょう。 -ここでは root さんからのシステムメールなども許しています。 <screen> article_post_restrictions = permit_anyone </screen> +この例では root さんからのシステムメールなども許していることに注意して +ください( root などは弾きたい場合 reject_system_accounts permit_anyone +です)。 +</para> + +<para> そして、社内用途のMLなので、フィルタの多くは使いません。 つぅか、使うと問題だらけのようです;) <screen> @@ -70,8 +75,8 @@ use_command_mail_function = no コマンドメールそのものを禁止するには、aliases から該当するエントリを省 くことが確実ですが、MLを作成するたびに、aliases から削除することはミ ス操作を誘い易いでしょう。また、CGI 操作の場合、CGI 操作者が aliases -の操作をするのはおかしいです。そこで、コマンドメール用のプログラムが一 -度は起動しても、すぐ終るという設定にしているわけです。 +の細かな操作をするのは難しいです。そこで、コマンドメール用のプログラム +が一度は起動しても、すぐ終るという設定にしているわけです。 </para> </sect1> @@ -97,7 +102,7 @@ support@example.co.jp MLでは <screen> Subject: (SUPPORT 10000) </screen> -などとなるわけです。 +などとするわけです。 </para> <para> diff --git a/fml/doc/ja/tutorial/customize/chapter.command.sgml b/fml/doc/ja/tutorial/customize/chapter.command.sgml index ea0d974a..0006d130 100644 --- a/fml/doc/ja/tutorial/customize/chapter.command.sgml +++ b/fml/doc/ja/tutorial/customize/chapter.command.sgml @@ -1,5 +1,5 @@ <!-- - $FML: chapter.command.sgml,v 1.2 2004/04/07 11:07:02 fukachan Exp $ + $FML: chapter.command.sgml,v 1.3 2004/10/06 09:07:34 fukachan Exp $ --> @@ -19,9 +19,9 @@ elena MLに独自の help コマンドを作ることを考えます。 </para> <para> -独自のモジュール help.pm を用意して、MLローカルのライブラリパスへお -くだけです。オリジナルの help.pm を参考にして、独自の help.pm を作り、 -以下のパスにおいてください。 +独自の help コマンドは、独自のモジュール help.pm を用意して、MLロー +カルのライブラリパスへおくだけでOKです。オリジナルの help.pm を参考に +して、独自の help.pm を作り、以下のパスにおいてください。 <screen> /var/spool/ml/elena/local/lib/FML/Command/User/help.pm </screen> @@ -33,7 +33,7 @@ help コマンドの応答には、このモジュール help.pm が使われます。 <caution> <para> 他のファイルからカット&ペーストする時は、 -package の名前空間に気をつけてね +package の名前空間に気をつけてください。 </para> </caution> diff --git a/fml/doc/ja/tutorial/customize/command_rejectall.sgml b/fml/doc/ja/tutorial/customize/command_rejectall.sgml index 7975c881..b773e06f 100644 --- a/fml/doc/ja/tutorial/customize/command_rejectall.sgml +++ b/fml/doc/ja/tutorial/customize/command_rejectall.sgml @@ -1,5 +1,5 @@ <!-- - $FML: command_rejectall.sgml,v 1.4 2004/04/07 11:07:02 fukachan Exp $ + $FML: command_rejectall.sgml,v 1.5 2004/10/06 09:07:34 fukachan Exp $ --> @@ -32,4 +32,8 @@ command_mail_restrictions = reject 何をしても「あなたはメンバーでない」という一点張りの答を返すだけです。 </para> +<para> +この設定の問題点は「各行を評価してしまう」つまり無駄ということです。 +</para> + </sect1> diff --git a/fml/doc/ja/tutorial/customize/post_check_pgp_signature.sgml b/fml/doc/ja/tutorial/customize/post_check_pgp_signature.sgml index 0264a60c..1e73d1d2 100644 --- a/fml/doc/ja/tutorial/customize/post_check_pgp_signature.sgml +++ b/fml/doc/ja/tutorial/customize/post_check_pgp_signature.sgml @@ -1,5 +1,5 @@ <!-- - $FML: post_check_article_thread.sgml,v 1.2 2004/11/14 12:04:58 fukachan Exp $ + $FML: post_check_pgp_signature.sgml,v 1.1 2005/06/05 09:20:22 fukachan Exp $ --> @@ -12,7 +12,7 @@ <para> この機能を使うには Crypt::OpenPGP モジュールが必要です。 OS 附属のパッケージシステムなどでインストールして下さい。 -このモジュールが使うモジュールがたくさんあるので、 +このモジュールが依存しているモジュールがたくさんあるので、 OS 附属のパッケージシステムを使えないとしんどいです。 </para> </caution> @@ -24,12 +24,11 @@ OS 附属のパッケージシステムを使えないとしんどいです。 <para> 設定例は次のようになります。 -check_article_thread が、このオプションです -(なお check_article_thread より良い名称も募集中)。 +check_pgp_signature が、このオプションです。 +電子署名が正当なユーザだけが投稿を許されます。 <screen> article_post_restrictions = reject_system_special_accounts check_pgp_signature - permit_member_maps reject </screen> もちろんデフォルトでは使いません。 @@ -45,12 +44,16 @@ article_post_restrictions = reject_system_special_accounts </title> <para> -pgp2 pgp5 gpg コマンドで操作してください。 -ただ、 -デフォルトのディレクトリではないこと、 -モードごとに異なるディレクトリを使う -ことから、 -fmlpgp などの wrapper を利用して下さい。 +PGP のキーリングは、動作条件ごとに別々に用意されます。たとえば記事投稿 +用のキーは $ml_home_dir/etc/pgp-article-post-auth/ ディレクトリ以下に、 +リモート管理用のキーは $ml_home_dir/etc/pgp-admin-command-mail-auth/ +ディレクトリ以下に置くといった具合です。 +</para> + +<para> +これらのキーは pgp2 pgp5 gpg コマンドで操作してください。ただ、デフォ +ルトのディレクトリではないこと、モードごとに異なるディレクトリを使うた +め、fmlpgp などの wrapper を利用すると便利です。 <screen> 例: elena ML で記事投稿で使うキーの生成 diff --git a/fml/doc/ja/tutorial/customize/post_permit_anyone.sgml b/fml/doc/ja/tutorial/customize/post_permit_anyone.sgml index 0d33ce44..a1c3b353 100644 --- a/fml/doc/ja/tutorial/customize/post_permit_anyone.sgml +++ b/fml/doc/ja/tutorial/customize/post_permit_anyone.sgml @@ -1,5 +1,5 @@ <!-- - $FML: post_permit_anyone.sgml,v 1.5 2004/04/07 11:07:02 fukachan Exp $ + $FML: post_permit_anyone.sgml,v 1.6 2004/10/06 09:07:34 fukachan Exp $ --> @@ -39,6 +39,17 @@ article_post_restrictions = reject_system_special_accounts permit_member_maps reject </screen> +この意味は +「root などシステムの特別なアカウントは弾き」 +「member_maps にあるユーザであれば投稿を許す」 +いづれにもマッチしないなら「投稿を拒否する」 +となります。 +</para> + +<para> +なお「rejectなになに」および「 permitなになに」という命令はマッチした +ところで処理が終りに、マッチしない場合は次の条件を試すことになっていま +す。 </para> </sect1> diff --git a/fml/doc/ja/tutorial/customize/recipe.filter.attachments.sgml b/fml/doc/ja/tutorial/customize/recipe.filter.attachments.sgml index e2a35b2a..6ada7c70 100644 --- a/fml/doc/ja/tutorial/customize/recipe.filter.attachments.sgml +++ b/fml/doc/ja/tutorial/customize/recipe.filter.attachments.sgml @@ -1,5 +1,5 @@ <!-- - $FML: recipe.filter.attachments.sgml,v 1.2 2004/12/08 11:27:45 fukachan Exp $ + $FML: recipe.filter.attachments.sgml,v 1.3 2004/12/09 03:55:18 fukachan Exp $ --> @@ -68,7 +68,7 @@ $distribute_verify_request_start_hook = q{ <screen> Content-Disposition: attachment; </screen> -という表示なることを前提に、これを引っかけるという案もある。 +という表示になることを前提に、これを引っかけるという案もあります。 <screen> $distribute_verify_request_start_hook = q{ my $msg = $curproc->incoming_message() || undef; diff --git a/fml/doc/ja/tutorial/customize/recipe.filter.spamassassin.sgml b/fml/doc/ja/tutorial/customize/recipe.filter.spamassassin.sgml index 7242c250..18e59b20 100644 --- a/fml/doc/ja/tutorial/customize/recipe.filter.spamassassin.sgml +++ b/fml/doc/ja/tutorial/customize/recipe.filter.spamassassin.sgml @@ -1,5 +1,5 @@ <!-- - $FML: recipe.filter.spamassassin.sgml,v 1.2 2004/05/20 12:34:26 fukachan Exp $ + $FML: recipe.filter.spamassassin.sgml,v 1.3 2004/10/06 09:07:35 fukachan Exp $ --> @@ -14,6 +14,15 @@ spamassassin で SPAM メールを無視する (HOOK を使った例)。 <answer> <para> +<caution> +<para> +そもそも spamassassin をよびだす内蔵フィルタがあるのですが、 +それをあえて使わない例です。 +</para> +</caution> +</para> + +<para> HOOK でなんとかする/ごまかす例。 <screen> $distribute_verify_request_end_hook = q{ diff --git a/fml/doc/ja/tutorial/delivery/chapter.sgml b/fml/doc/ja/tutorial/delivery/chapter.sgml index d0a01394..1754726b 100644 --- a/fml/doc/ja/tutorial/delivery/chapter.sgml +++ b/fml/doc/ja/tutorial/delivery/chapter.sgml @@ -1,5 +1,5 @@ <!-- - $FML: chapter.sgml,v 1.12 2003/04/15 14:51:37 fukachan Exp $ + $FML: chapter.sgml,v 1.13 2004/10/06 09:07:35 fukachan Exp $ --> @@ -74,7 +74,7 @@ Mail::Message header -> body header -> preamble -> part1 -> part2 -> trailor (multipart) </screen> -のようにオブジェクトが数珠つなぎのようなデータ構造を作ります。 +のようにオブジェクトが数珠つなぎになったデータ構造を作ります。 </para> <para> @@ -102,7 +102,7 @@ Mail::Message <para> 2004 夏以降、&fml8; の配送システムはキュー管理システムのもとで動いてい -ます。これにより再送処理が可能となりました。 +ます。これにより fml8 自力での再送処理が可能となりました。 </para> </sect1> diff --git a/fml/doc/ja/tutorial/delivery/queue.sgml b/fml/doc/ja/tutorial/delivery/queue.sgml index fa39ef9e..18335ba4 100644 --- a/fml/doc/ja/tutorial/delivery/queue.sgml +++ b/fml/doc/ja/tutorial/delivery/queue.sgml @@ -1,5 +1,5 @@ <!-- - $FML: queue.sgml,v 1.6 2004/05/28 04:20:48 fukachan Exp $ + $FML: queue.sgml,v 1.7 2004/10/06 09:07:35 fukachan Exp $ --> @@ -58,7 +58,7 @@ Mail::Delivery::Queue ベースのキューイング処理をしています。そのため、 <sect2> <title> - fml の中ではどう書くのか? + fml の中では、どう書くのか? </title> <para> @@ -153,7 +153,7 @@ outgoing 用です。 </para> <para> -queue ファイルを作る時は、一旦 new/ に作成します。 +(outgoing の) queue ファイルを作る時は、一旦 new/ に作成します。 queue ファイルを作る作業が終了し、配送準備 OK となったら new/ から active/ に移動されます。 つまり active/ にあるファイルは配送準備ができているものです。 diff --git a/fml/doc/ja/tutorial/devel/create_program.sgml b/fml/doc/ja/tutorial/devel/create_program.sgml index fd76b420..5601f131 100644 --- a/fml/doc/ja/tutorial/devel/create_program.sgml +++ b/fml/doc/ja/tutorial/devel/create_program.sgml @@ -1,5 +1,5 @@ <!-- - $FML: create_program.sgml,v 1.8 2004/04/07 11:07:04 fukachan Exp $ + $FML: create_program.sgml,v 1.9 2004/10/06 09:07:35 fukachan Exp $ --> @@ -62,7 +62,8 @@ etc/modules にプログラムとクラスの関係を定義して下さい。 また、 etc/command_line_options -にオプションとML名の有無などを定義してください。 +にオプションとML名の有無などを定義してください +(書き方は、これらのファイルの中身を見て推測して下さい)。 </para> <para> @@ -169,7 +170,14 @@ run_cgi_command_help() run_cgi_options() </screen> になるという点です。 -これらの組で一つの画面が構成されています。 +これらの組で一つの画面 +<footnote> +<para> +正確には画面は3×3の合計9個のブロックからなりますが、 +そのうちの6つしか使っていません。 +</para> +</footnote> +が構成されています。 </para> <para> diff --git a/fml/doc/ja/tutorial/devel/cvstree.sgml b/fml/doc/ja/tutorial/devel/cvstree.sgml index 0ed54885..3dc86b59 100644 --- a/fml/doc/ja/tutorial/devel/cvstree.sgml +++ b/fml/doc/ja/tutorial/devel/cvstree.sgml @@ -1,5 +1,5 @@ <!-- - $FML: cvstree.sgml,v 1.9 2003/04/15 14:51:38 fukachan Exp $ + $FML: cvstree.sgml,v 1.10 2004/10/06 09:07:36 fukachan Exp $ --> @@ -22,16 +22,16 @@ <para> また、保守する人とライセンスをはっきり区別するためにベンダーごとにディ -レクトリを分けています。例えば CPAN で保守されているものは CPAN/ ディ +レクトリを分けています。例えば CPAN で保守されているものは cpan/ ディ レクトリ以下に入れています。ライセンスなどによっては、将来さらに区分を 分ける必要が出てくるかも知れません。 </para> <para> -CPAN/ や 3rdparty/ 以下のモジュールを変更したい場合は fml/ 以下で、な +cpan/ や 3rdparty/ 以下のモジュールを変更したい場合は fml/ 以下で、な んらかのラップ(wrap)をするか、パッチをオリジナルに反映してもらって -CPAN/ 以下をアップデートをすることが望ましいやり方です。CPAN/lib/ に直 -接変更を加えることもありますが、CPAN/dist/ はオリジナルを保存する場所 +cpan/ 以下をアップデートをすることが望ましいやり方です。cpan/lib/ に直 +接変更を加えることもありますが、cpan/dist/ はオリジナルを保存する場所 なので、変更してはいけません。 </para> @@ -179,7 +179,7 @@ CPAN/ 以下をアップデートをすることが望ましいやり方です。CPAN/lib/ に直 <row> - <entry> fml/libexec/ </entry> + <entry> fml/libexec/ </entry> <entry> 実行されるプログラムの実体。 すぐにモジュールを diff --git a/fml/doc/ja/tutorial/digest/chapter.sgml b/fml/doc/ja/tutorial/digest/chapter.sgml index 2b78c1cd..210837f7 100644 --- a/fml/doc/ja/tutorial/digest/chapter.sgml +++ b/fml/doc/ja/tutorial/digest/chapter.sgml @@ -1,5 +1,5 @@ <!-- - $FML: chapter.sgml,v 1.3 2003/04/15 14:51:39 fukachan Exp $ + $FML: chapter.sgml,v 1.4 2004/10/06 09:07:36 fukachan Exp $ --> @@ -120,7 +120,7 @@ admin digest $address off </title> <para> -(未実装) +(実装済) <screen> digest on digest off @@ -129,9 +129,9 @@ digest off </para> <para> -confirm は必要ですかねぇ?これは決めごとなんで、デザインポリシーとして、 -アドレス操作関係のコマンドのデフォルトは厳しくしましょう。要望がでてき -たら、順次緩めていくということにします。 +confirm は未実装です。デザインポリシーとして、アドレス操作関係のコマン +ドのデフォルトは厳しくしましょう。要望がでてきたら、順次緩めていくとい +うことにします。 </para> </sect2> @@ -143,6 +143,7 @@ confirm は必要ですかねぇ?これは決めごとなんで、デザインポリシーとして、 </title> <para> +(実装済) <screen> digeston digestoff diff --git a/fml/doc/ja/tutorial/glossary.sgml b/fml/doc/ja/tutorial/glossary.sgml index c464ebed..713676da 100644 --- a/fml/doc/ja/tutorial/glossary.sgml +++ b/fml/doc/ja/tutorial/glossary.sgml @@ -1,5 +1,5 @@ <!-- - $FML: glossary.sgml,v 1.5 2003/04/15 14:51:34 fukachan Exp $ + $FML: glossary.sgml,v 1.6 2004/10/06 09:07:32 fukachan Exp $ --> <glossary id="glossary"> @@ -15,7 +15,16 @@ &fml4; シリーズのこと </para> </glossdef> + </glossentry> + + <glossentry> + <glossterm> fml 8 </glossterm> + <glossdef> + <para> + &fml8; シリーズのこと + </para> + </glossdef> </glossentry> @@ -26,8 +35,6 @@ &fml8 の開発時の名称。 </para> </glossdef> - - </glossentry> @@ -42,7 +49,6 @@ UNIX カーネルで伝統的に使われている省略名の典型例 </para> </glossdef> - </glossentry> @@ -50,17 +56,17 @@ <glossterm> PCB </glossterm> <glossdef> <para> - Process Control Block の略。 - そのプロセス固有の情報を含む。 - 現状 fml 内部でのコンテキスト切替などはないので、 - UNIX カーネルの PCB とは少し趣が異なります。 + Process Control Block の略で、そのプロセス固有の情報を含む。 + MLごとに内容は異なる。 + fml 内部でのコンテキスト切替は、 + listserve スタイルのMLなどエミュレータプログラムの中で + 起こり得ます。 </para> <para> UNIX カーネルで伝統的に使われている省略名の典型例 </para> </glossdef> - </glossentry> @@ -91,8 +97,6 @@ アーギュメント( argument )の略 </para> </glossdef> - - </glossentry> @@ -103,8 +107,6 @@ ファイルハンドル( file handle ) </para> </glossdef> - - </glossentry> @@ -115,8 +117,6 @@ ディレクトリハンドル( directory handle ) </para> </glossdef> - - </glossentry> @@ -176,7 +176,6 @@ 文字列 ( string ) の略 </para> </glossdef> - </glossentry> diff --git a/fml/doc/ja/tutorial/include/bookinfo.sgml b/fml/doc/ja/tutorial/include/bookinfo.sgml index 62064a6b..dc86f125 100644 --- a/fml/doc/ja/tutorial/include/bookinfo.sgml +++ b/fml/doc/ja/tutorial/include/bookinfo.sgml @@ -1,11 +1,11 @@ <!-- - $FML: bookinfo.sgml,v 1.13 2004/03/18 08:58:49 fukachan Exp $ + $FML: bookinfo.sgml,v 1.14 2004/04/02 04:53:40 fukachan Exp $ --> <bookinfo> <bookbiblio> <title> - fml8 チュートリアル (fml version 8 tutorial) + fml8 チュートリアル </title> <author> @@ -25,7 +25,7 @@ </author> <copyright> - <year> 2001,2002,2003,2004 </year> + <year> 2001,2002,2003,2004,2005 </year> <holder> Ken'ichi Fukamachi </holder> </copyright> @@ -39,7 +39,13 @@ <para> - 現在の fml-devel で動く機能そして TODO リストは + fml 8 の現在のステータスは PRE ALPHA です。 + そのためバージョン番号として 7.98.x という番号をつけています。 + fml 8 ALPHA 〜 fml 8 BETA および fml 8 RC の間は 7.99.x の予定です。 + </para> + + <para> + 現在の fml8 で動く機能そして TODO リストは <ulink url="../../../fml/doc/ja/todo/STATUS.html"> http://www.fml.org/software/fml-devel/fml/doc/ja/todo/STATUS.html </ulink> @@ -59,6 +65,8 @@ </ulink> ドキュメントを参照して下さい)。 <screen> + perl 5.8.5 on NetBSD 2.0 + perl 5.8.5 on NetBSD 1.6 perl 5.6.1 on NetBSD 1.5.x (1.5 stable) perl 5.6.1 on NetBSD 1.6 perl 5.6.1 on FreeBSD 5.2.1 diff --git a/fml/doc/ja/tutorial/include/terms.sgml b/fml/doc/ja/tutorial/include/terms.sgml index e9856f43..aa7f9dcf 100644 --- a/fml/doc/ja/tutorial/include/terms.sgml +++ b/fml/doc/ja/tutorial/include/terms.sgml @@ -1,5 +1,5 @@ <!-- - $FML: terms.sgml,v 1.3 2002/07/02 10:39:34 fukachan Exp $ + $FML: terms.sgml,v 1.4 2004/04/07 11:07:04 fukachan Exp $ --> <sect1 id="terms"> @@ -44,7 +44,7 @@ <term> CUI </term> <listitem> <para> - コマンドラインで使うツールの、つまり makefml と fml のこと + コマンドラインで使う設定ツール、たとえば makefml と fml の類。 </para> </listitem> </varlistentry> diff --git a/fml/doc/ja/tutorial/install/fml_on_unix.sgml b/fml/doc/ja/tutorial/install/fml_on_unix.sgml index 1b265eb1..b49a3179 100644 --- a/fml/doc/ja/tutorial/install/fml_on_unix.sgml +++ b/fml/doc/ja/tutorial/install/fml_on_unix.sgml @@ -1,5 +1,5 @@ <!-- - $FML: fml_on_unix.sgml,v 1.8 2004/10/06 09:07:37 fukachan Exp $ + $FML: fml_on_unix.sgml,v 1.9 2004/10/09 12:09:28 fukachan Exp $ --> @@ -19,6 +19,8 @@ configure を実行する(後述)前に、 適宜、ユーザ fml とグループ fml を作ってください。 <screen> +例 + % su root # groupadd fml # useradd -g fml -m fml @@ -244,7 +246,8 @@ Now you must run "make install". <entry> /usr/local/etc/fml </entry> <entry> 基本設定ファイルを置く場所。 - &fml4; の /usr/local/fml/.fml や default_config.ph 相当を置く場所。 + &fml4; の /usr/local/fml/.fml や default_config.ph を置く場所に + 相当する。 /usr/local/etc/fml/main.cf では、 バージョンやライブラリの場所(ディレクトリ)などを指定する。 </entry> @@ -258,7 +261,7 @@ Now you must run "make install". </row> <row> - <entry> + <entry> /usr/local/lib/fml </entry> <entry> @@ -291,6 +294,13 @@ Now you must run "make install". なお、ドメインごとに別の prefix を用意して下さい。 たとえば fml.org 用は /var/spool/ml で、 nuinui.net 用には /var/spool/nuinui.net などのように。 + このドメインとディレクトリの対応関係は + ml_home_prefix_maps ( + <link linkend="virtualdomain.fml8.overview"> + バーチャルドメインの節 + </link> + を参照 + )に記述して下さい。 また、バーチャルドメインについて、くわしくは <link linkend="virtualdomain"> @@ -325,7 +335,7 @@ configure を実行後、ユーザ root になり、make install を実行して下さい。 <para> configure はユーザ root で実行する必要はありませんが、 make install はユーザ root で実行して下さい。 -間違えないように、configure も root で実行するほうがいいかもね。 +間違えないように、configure も root で実行するほうがいいのかもしれません。 <screen> % su root # ./configure @@ -346,7 +356,8 @@ make install はユーザ root で実行して下さい。 必要なら /usr/local/etc/fml/main.cf を編集して下さい。 configure が、あなたの環境に合わせて main.cf を書換えしているはずなの -で configure のオプション指定が正しければ、編集の必要は、まずないです。 +で configure のオプション指定が正しければ、編集の必要は、まずないはず +です。 </para> <para> @@ -387,7 +398,7 @@ mani.cf は大枠の最も基本的な設定です。より細かな設定、たとえばサイト共 デフォルトでは &fml4; と合わせるために、および見本として:) subject のタグをつけない設定とフィルタ関連の設定だけが入っています。 <screen> -# $FML: fml_on_unix.sgml,v 1.8 2004/10/06 09:07:37 fukachan Exp $ +# $FML: fml_on_unix.sgml,v 1.9 2004/10/09 12:09:28 fukachan Exp $ # # site default_config.cf EXAMPLE # @@ -493,6 +504,7 @@ newdomain コマンドについては <warning> <para> +ml_home_prefix_maps のパスを変更したいなら別ですが、 /usr/local/etc/fml/main.cf の編集は必要ありません。 </para> diff --git a/fml/doc/ja/tutorial/install/postfix.sgml b/fml/doc/ja/tutorial/install/postfix.sgml index 24f60176..de698a30 100644 --- a/fml/doc/ja/tutorial/install/postfix.sgml +++ b/fml/doc/ja/tutorial/install/postfix.sgml @@ -1,5 +1,5 @@ <!-- - $FML: postfix.sgml,v 1.4 2004/04/07 11:07:05 fukachan Exp $ + $FML: postfix.sgml,v 1.5 2004/10/06 09:07:37 fukachan Exp $ --> @@ -46,7 +46,8 @@ alias_maps = hash:/etc/mail/aliases </title> <para> -main.cf と virtual_map と両方の設定が必要です。 +/etc/postfix/main.cf で +alias_maps と virtual_maps の両方に設定の追加が必要です。 <screen> allow_mail_to_commands = alias,forward,include @@ -57,8 +58,16 @@ alias_maps = hash:/etc/mail/aliases virtual_maps = hash:/var/spool/nuinui.net/etc/postfix/virtual </screen> -/var/spool/nuinui.net/etc/postfix/virtual は makefml によって自動的に -更新されます。 +makefml newml を実行すると +/var/spool/nuinui.net/etc/mail/aliases +および +/var/spool/nuinui.net/etc/postfix/virtual +は makefml によって自動的に更新されます。 +なお、この場合、ml_home_prefix_maps で +<screen> +nuinui.net /var/spool/nuinui.net +</screen> +という「ドメイン←→ディレクトリ」の定義がなされています。 </para> <warning> @@ -71,8 +80,8 @@ virtual_maps です。最近の Postfix には sendmail スタイルというのもあり </para> <para> -mydestination にデフォルトのドメイン(おそらく $mydomain )がちゃんと追 -加されていることを確認して下さい。しかし、バーチャルドメイン(ここでは +mydestination にデフォルトのドメイン(おそらく $mydomain)がちゃんと追加 +されていることを確認して下さい。しかし、バーチャルドメイン(ここでは nuinui.net)は mydestination に追加する必要はありません。注意して下さい。 </para> diff --git a/fml/doc/ja/tutorial/install/upgrade.sgml b/fml/doc/ja/tutorial/install/upgrade.sgml index 0858d7b6..e5ca9a12 100644 --- a/fml/doc/ja/tutorial/install/upgrade.sgml +++ b/fml/doc/ja/tutorial/install/upgrade.sgml @@ -1,5 +1,5 @@ <!-- - $FML: upgrade.sgml,v 1.6 2004/04/07 11:07:06 fukachan Exp $ + $FML: upgrade.sgml,v 1.7 2004/10/06 09:07:37 fukachan Exp $ --> @@ -32,7 +32,8 @@ fml4 から fml8 へのアップグレードは、 </title> <para> -単に、もう一度 +インストールするだけでは何も変化は起こりません。 +まずは、単に、もう一度 fml8 を <link linkend="install.fml.unix"> インストール </link> @@ -42,12 +43,12 @@ fml4 から fml8 へのアップグレードは、 <para> そして、インストール後、/usr/local/etc/fml/main.cf の fml_version 行を 今インストールしたバージョンに変更して下さい。 -ファイルをセーブした瞬間から新しい fml に切り替わります +ファイルをセーブした瞬間から新しい fml8 に切り替わります (注: エディタで編集中は古い内容)。 </para> <para> -逆に言えば、fml_version 行を編集するまで有効にはなりません。 +逆に言えば、fml_version 行を編集するまでアップグレードは有効にはなりません。 </para> </sect1> diff --git a/fml/doc/ja/tutorial/internals/bootloader.sgml b/fml/doc/ja/tutorial/internals/bootloader.sgml index dd9a61e8..823261b6 100644 --- a/fml/doc/ja/tutorial/internals/bootloader.sgml +++ b/fml/doc/ja/tutorial/internals/bootloader.sgml @@ -1,5 +1,5 @@ <!-- - $FML: bootloader.sgml,v 1.11 2004/04/07 11:07:06 fukachan Exp $ + $FML: bootloader.sgml,v 1.12 2004/10/06 09:07:37 fukachan Exp $ --> @@ -45,19 +45,19 @@ loader から次々と呼ばれていく様子は、例えば配送処理の場合、次のよう </para> <para> -libexec/loader は /usr/local/etc/fml/main.cf を読みこみ、 -fml_version 変数から使うべきライブラリのバージョンを決めます。 -例えば fml_vesrion が current-20010501 となっていたら -/usr/local/lib/fml/current-20010501/ 以下にあるライブラリを使うといった -具合です。 +/usr/local/libexec/fml/distributre (の実体は +/usr/local/libexec/fml/loader) は /usr/local/etc/fml/main.cf を読みこ +み、fml_version 変数から使うべきライブラリのバージョンを決めます。例え +ば fml_vesrion が current-20010501 となっていたら +/usr/local/lib/fml/current-20010501/ 以下にあるライブラリを使うといっ +た具合です。 </para> <para> -@INC を設定した後、 +@INC を再設定した後、 loader は FML::Process::Switch をロードし、 $0 を調べます。 -その名前から自分の仕事は配送処理だと知ります。 -配送処理なので +その名前から自分の仕事は配送処理配送処理なので FML::Process::Distribute クラスをロードし、配送処理に移ります。 </para> @@ -68,11 +68,10 @@ etc/fml/defaults/バージョン/modules </para> <para> -こういった処理は見かけ上 -FML::Process::Flow::ProcessStart() という関数が制御しています。 -ProcessStart() が引数として -FML::Process::Distribute を渡され、 -FML::Process::Distribute を実行していくという流れになります。 +こういった処理は見かけ上 FML::Process::Flow::ProcessStart() という関数 +が制御しています。ProcessStart() が引数として FML::Process::Distribute +オブジェクトを渡され、FML::Process::Distribute オブジェクトを実行して +いくという流れになります。 </para> </sect1> @@ -110,7 +109,7 @@ FML::Process::Mead >-| | libexec/loader (wrapper) Bootstrap() を実行する。 libexec/distribute などは、皆この loader へのシンボリックリンクです。 - /usr/local/libexec/fml/ を参照して下さい。 + /usr/local/libexec/fml/ 以下を参照して下さい。 </para> </listitem> @@ -121,8 +120,9 @@ FML::Process::Mead >-| | /usr/local/etc/fml/main.cf を読み込む。 読み込むと fml のバージョンが分かる。 main.cf の値から @INC を再設定しバージョン依存性を解決します。 - default_config.cf はバージョン依存であるので、 - ここでまずバージョンを評価しなければいけないことに注意してください。 + default_config.cf はバージョン依存ですので、 + 設定ファイルを読み込む前に、 + この段階でバージョンを評価しなければいけないことに注意してください。 </para> </listitem> @@ -146,7 +146,7 @@ FML::Process::Mead >-| | <para> Bootstrap2() および ProcessSwitch() を実行し、 配送用、コマンドメール用の各プロセスへ - 制御を移します(分岐する)。 + 制御を移します。 この時は $0 から自分の名前を知り、 どのプロセスへ分岐すればいいのかを判断しています。 </para> @@ -160,7 +160,7 @@ FML::Process::Mead >-| | そして、プロセスをスタートさせます。 FML::Process::Flow の中に、 - どのように fml プロセスを実行するかが + どのように fml8 プロセスを実行するかが 定義されています。大雑把には <screen> $process = new FML::Process::なにか; @@ -216,7 +216,7 @@ ProcessSwitch() hints を渡す?使う? (CGI のみ?) -ProcessStart($obj,$args) +ProcessStart($obj, $args) 処理本体のスタート diff --git a/fml/doc/ja/tutorial/internals/cgi.examples.sgml b/fml/doc/ja/tutorial/internals/cgi.examples.sgml index bb720ff3..ea2987aa 100644 --- a/fml/doc/ja/tutorial/internals/cgi.examples.sgml +++ b/fml/doc/ja/tutorial/internals/cgi.examples.sgml @@ -1,5 +1,5 @@ <!-- - $FML: cgi.examples.sgml,v 1.1 2004/03/31 06:03:00 fukachan Exp $ + $FML: cgi.examples.sgml,v 1.2 2004/10/06 09:07:37 fukachan Exp $ 注意: cgi.sgml の中にはめ込むので <chapter> は不必要だ。 --> @@ -22,13 +22,13 @@ FML::CGI::Thread FML::Process::CGI::Kernel FML::Process::CGI::Param </para> <para> -各 .cgi 固有のコードは FML::CGI:: の階層に置くようにします。 +各 .cgi 固有のコードは FML::CGI:: の階層に置くようにしています。 </para> <para> FML::Process::CGI::Kernel には、 プロセス全体の制御部分と、 -デフォルトの CGI 固有関数 run_cgi_なんとか() を置きます。 +デフォルトの CGI 固有の関数「run_cgi_なんとか()」を置きます。 必要に応じて FML::CGI:: の階層でオーバーロードしてください。 なお、FML::Process::CGI::Kernel の以下のメソッドは使われていません。 <screen> @@ -75,13 +75,13 @@ FML::Process::CGI::Kernel では $curproc->_drive_cgi_by_table(); (FML::Process::CGI::Kernel) $curproc->html_end(); (FML::CGI::Menu) </screen> -を実行します。画面を作るのは _drive_cgi_by_table() です。 +を実行します。画面を作るのは _drive_cgi_by_table() の部分です。 この関数から呼ばれる関数が CGI のメイン部分です。 </para> <para> $curproc->_drive_cgi_by_table() -は、以下の各「run_いろいろ()」メソッドを呼び出します。 +は、以下の各「run_いろいろ()」メソッド群を呼び出します。 <screen> run_cgi_main (FML::CGI::Menu) </screen> diff --git a/fml/doc/ja/tutorial/internals/cgi.sgml b/fml/doc/ja/tutorial/internals/cgi.sgml index f40909b7..f153a420 100644 --- a/fml/doc/ja/tutorial/internals/cgi.sgml +++ b/fml/doc/ja/tutorial/internals/cgi.sgml @@ -1,5 +1,5 @@ <!-- - $FML: cgi.sgml,v 1.12 2004/03/31 06:03:01 fukachan Exp $ + $FML: cgi.sgml,v 1.13 2004/10/06 09:07:38 fukachan Exp $ --> @@ -77,7 +77,7 @@ fml CGI スクリプトでは典型的な画面が次のように分割されると考えています。 </para> <para> -ヘッダ部分( HTTP ヘッダではなく、HTML の DOCTYPE から BODY あたり)やフッ +ヘッダ部分(HTTP ヘッダではなく、HTML の DOCTYPE から BODY あたり)やフッ タの部分は html_start() および html_end() で HTML コードを生成します。 </para> diff --git a/fml/doc/ja/tutorial/internals/config.cf.sgml b/fml/doc/ja/tutorial/internals/config.cf.sgml index a7693a8c..38ab08ac 100644 --- a/fml/doc/ja/tutorial/internals/config.cf.sgml +++ b/fml/doc/ja/tutorial/internals/config.cf.sgml @@ -1,5 +1,5 @@ <!-- - $FML: config.cf.sgml,v 1.12 2004/04/07 11:07:07 fukachan Exp $ + $FML: config.cf.sgml,v 1.13 2004/10/06 09:07:38 fukachan Exp $ --> @@ -27,7 +27,7 @@ </para> <para> -&fmldevel; では config.cf 一つです。 +一方 &fmldevel; では config.cf というファイルです。 フォーマットは postfix や .ini 風の <screen> 変数 = 値 @@ -190,8 +190,9 @@ x = a b c d e 『デフォルトの定義』、 『サイト固有の定義』、 『ドメイン固有の定義』 -などを別のファイルに分離することができます。 -デフォルトでは、いくつかの .cf ファイルに分離されています。 +などを別のファイルに分離し、上書きしつつ多重読み込みをすることができま +す。これをするため、デフォルトでは、いくつかの .cf ファイルに分離され +ています。 </para> <para> @@ -245,7 +246,7 @@ $config->{ another_key } get() はこのハッシュではなく %_fml_config_result の値を返しています。 このハッシュ中の値は $dir などが展開された後の値で、 /var/spool/ml/elena/file などとなっています。 -この変数の値の展開は get() なりで呼ばれた時に始めて行なわれます。 +この変数の値の展開は get() なりが呼ばれた際に始めて行なわれます。 </para> </sect2> diff --git a/fml/doc/ja/tutorial/internals/db_modules.sgml b/fml/doc/ja/tutorial/internals/db_modules.sgml index e1f02cf6..f262af5c 100644 --- a/fml/doc/ja/tutorial/internals/db_modules.sgml +++ b/fml/doc/ja/tutorial/internals/db_modules.sgml @@ -1,5 +1,5 @@ <!-- - $FML: db_modules.sgml,v 1.1 2003/05/31 08:51:09 fukachan Exp $ + $FML: db_modules.sgml,v 1.2 2004/10/06 09:07:38 fukachan Exp $ --> <!-- @@ -45,8 +45,14 @@ message-id のデータを持っていますし、記事の分については重複しています。 Mail::Message::DB </link> のようなものとし、各種アダプタ層が頑張って欲しい。 -また、キャッシュの方だが、現在では Tie::JournaledDir もしくは -File::CacheDir かのいづれかが使われることとなる。 +また、キャッシュの方ですが、現在では Tie::JournaledDir もしくは +FML::Cache::Ring のいづれかが使われることとなっています。 +</para> + +<para> +なお、メンバーリストなどの永続性の必要なデータに対するデータベースはき +ちんと DBMS (データベース管理システム)を使うべきです。ここで述べている +データベースは fml8 が動作する上で内部的に使っているデータベースです。 </para> </sect1> @@ -75,41 +81,15 @@ DBMS を使うべきでしょう。 </para> - <para> -そういったわけで &fml8; では、expire の仕方に応じて2つのデータ保持ク -ラスを用意しています。それは「サイズを気にせず、時間を区切って expire -するのか?」もしくは「使用する領域のサイズをある程度気にするか?」の2 -種類です。 +ここでは fml8 内部で使っているモジュールの話をします。 </para> -<warning> <para> -現在では -Tie::JournaledFile クラス -を利用した -Tie::JournaledDir クラス -もあるので、 -将来 -Tie::JournaledDir もしくは File::CacheDir かのいづれかは -不必要になるかも知れません。 -また、インターフェイスの違いから適宜使い分けるのかもしれません。 -</para> - -<para> -2002/08: -File::CacheDir は改名し、なくす方向で考えています。 -そもそも File::CacheDir は -FML/Process/Kernel.pm -と -FML/Filter/TrafficMonitor.pm -でしか使ってません。 -しかも、 -TrafficMonitor.pm は事実上未完成なので、まだ変更が可能です。 -実際 FML::Process::Kernel の var/mail/ でしか使っていないので、 -File::CacheDir を使わないようにすることが可能でしょう。 +&fml8; では、データの expire の仕方に応じて2つのデータ保持クラスを用 +意しています。それは「サイズを気にせず、時間を区切って expire するのか?」 +もしくは「使用する領域のサイズをある程度気にするか?」の2種類です。 </para> -</warning> </sect1> @@ -174,26 +154,25 @@ get_all_values_as_hash_ref() <warning> <para> -なお検索時の挙動の -first match と last match は切替えることができます。 -どちらの戦略で探すのか、 -クラスオブジェクトを生成する際に明示的に指定することが推奨されます。 -デフォルトは first match です。 +なお検索時の挙動のfirst match と last match は切替えることができます。 +どちらの戦略で探すのか、クラスオブジェクトを生成する際に明示的に指定す +ることが推奨されます。デフォルトは last match です(最後に書き込んだデー +タが返される振舞いが自然です)。 </para> </warning> </sect1> -<sect1 id="db.module.File.CacheDir"> +<sect1 id="db.module.FML.Cache.Ring"> <title> - File::CacheDir クラス + FML::Cache::Ring クラス </title> <para> この <ulink url="../../en/modules/File/CacheDir.txt"> - File::CacheDir + FML::Cache::Ring </ulink> クラスは、主にサイズに上限を設けたいタイプのデータを蓄える場合に用 います。expire の時間については気にしません。 @@ -202,7 +181,7 @@ first match と last match は切替えることができます。 <para> -デバッグ等に用いるデータはこれで十分と考えています。 +デバッグ等に用いるデータはこれで十分と考えます。 普段は使わないデバッグのために、サイズを食われるのも嫌ですから。 </para> @@ -218,31 +197,12 @@ first match と last match は切替えることができます。 <warning> <para> -旧 RingBuffer は File::CacheDir に統合されました。 +旧 RingBuffer は FML::Cache::Ring に統合されました。 +また、FML::Cache::Ring は File::CacheDir から作られました。 </para> </warning> </sect1> - -<sect1 id="db.module.usage"> - <title> - モジュールの使い分け - </title> - -<para> -う〜ん、困りましたね… -</para> - -<para> -元々はサイズの上限を重視する場合が -リングバッファ、つまり File::CacheDir でした。 -逆に、 -時間方向の expire を重視する場合は Tie::Journaled* を使うつもりでした。 -でも時間方向の File::CacheDir はそれと一緒じゃん;) -</para> - -</sect1> - </chapter> diff --git a/fml/doc/ja/tutorial/internals/dbms.sgml b/fml/doc/ja/tutorial/internals/dbms.sgml index b1a7257b..dfb627e0 100644 --- a/fml/doc/ja/tutorial/internals/dbms.sgml +++ b/fml/doc/ja/tutorial/internals/dbms.sgml @@ -1,5 +1,5 @@ <!-- - $FML: dbms.sgml,v 1.5 2003/05/31 08:51:09 fukachan Exp $ + $FML: dbms.sgml,v 1.6 2004/10/06 09:07:38 fukachan Exp $ --> @@ -8,6 +8,17 @@ データベース管理システム </title> +<para> +メンバーリストなどの永続性の必要なデータに対しデータベースを用いたいな +ら、きちんと DBMS (データベース管理システム)を使うべきです。ここで述べ +ているデータベースとは、そういった意味合いのデータを相手にしています。 +一方 fml8 が動作する上で内部的に使うデータベースモジュールについては +<link linkend="db.module"> +<xref linkend="db.module"> +</link> +を参照して下さい。 +</para> + <sect1 id="dbms.overview"> <title> @@ -31,21 +42,4 @@ IO::Adapter の前段階のプログラムが頑張る必要があります。 </sect1> -<sect1 id="dbms.todo"> - <title> - TODO - </title> - -<para> -メソッドが必要最少限になっているかは考えた方がいい。 -けれど、 -<link linkend="module.io.adapter"> -IO::Adapter -</link> -のメソッド準拠ではあるので、とりあえずいいのかな。 -</para> - -</sect1> - - </chapter> diff --git a/fml/doc/ja/tutorial/internals/directory.sgml b/fml/doc/ja/tutorial/internals/directory.sgml index 407bab82..bf3ed14e 100644 --- a/fml/doc/ja/tutorial/internals/directory.sgml +++ b/fml/doc/ja/tutorial/internals/directory.sgml @@ -1,5 +1,5 @@ <!-- - $FML: directory.sgml,v 1.4 2004/04/07 11:07:08 fukachan Exp $ + $FML: directory.sgml,v 1.5 2004/10/06 09:07:38 fukachan Exp $ --> @@ -28,7 +28,7 @@ <para> 現代の性能では、ディレクトリ中に 1000 くらいの構造なら、あってもほとん -ど瞬時に ls は返ってきますが、10000 ともなるとちょっと考えちゃう。 +ど瞬時に ls は返ってきますが、10000 ともなるとちょっと考えます。 </para> <para> diff --git a/fml/doc/ja/tutorial/internals/filter.sgml b/fml/doc/ja/tutorial/internals/filter.sgml index b01467a0..0117b0a5 100644 --- a/fml/doc/ja/tutorial/internals/filter.sgml +++ b/fml/doc/ja/tutorial/internals/filter.sgml @@ -1,5 +1,5 @@ <!-- - $FML: filter.sgml,v 1.7 2004/04/20 03:36:34 fukachan Exp $ + $FML: filter.sgml,v 1.8 2004/10/06 09:07:39 fukachan Exp $ --> @@ -161,9 +161,9 @@ text/html reject </para> <para> -MIME が前提なので、!MIME なんてのはないですが、text/plain と -multipart/mixed 中の text/plain を区別するために、こういう書き方である -必要があるとおもうわけです。 +MIME が前提なので、!MIME (MIME 以外を対象とする)という命令はありません +が、text/plain と multipart/mixed 中の text/plain を区別するために、こ +ういう書き方である必要があるとおもうわけです。 <screen> 全体 部分 アクション ---------------------------------------------- @@ -204,19 +204,19 @@ text/plain :size>500k cutoff </title> <para> -では、permit はどうでしょう?実のところ文脈依存と考えらますが、何が正 -しいのかよくわかりません。たとえば、multipart のメールの中身が +では、permit はどうでしょう?実のところ文脈依存と考えられますが、何が +正しいのかよくわかりません。たとえば、multipart のメールの中身が <screen> text/plain + image/jpeg + text/html </screen> のように3つの異なるタイプのパートからなる場合、どういうルールなら曖昧 -さがないのだろうか? +さがないでしょうか? </para> <para> 結論をいえば、cutoff や reject を指定するタイプのルールしかうまく機能 しない、つまり「特定の○○を削除ないしは拒否する」ことならうまくできる -といえそうです。ゆえにデフォルトは permit にするしかない。 +といえそうです。ゆえにデフォルトは permit にするしかありません。 </para> <para> @@ -244,7 +244,7 @@ text/plain * permit </screen> と一緒になってしまうわけです。だから permit は"メール全体を OK として ルールとの照らし合わせ処理をそこで終りにする"という意味にしないといけ -ない。よって、次のようなルールはありえない。 +ません。よって、次のようなルールはありえないことになります。 <screen> text/plain * permit multipart/mixed text/plain permit diff --git a/fml/doc/ja/tutorial/internals/io_abstraction.sgml b/fml/doc/ja/tutorial/internals/io_abstraction.sgml index 0aa6841b..12ccb233 100644 --- a/fml/doc/ja/tutorial/internals/io_abstraction.sgml +++ b/fml/doc/ja/tutorial/internals/io_abstraction.sgml @@ -1,5 +1,5 @@ <!-- - $FML: io_abstraction.sgml,v 1.3 2003/05/27 10:59:27 fukachan Exp $ + $FML: io_abstraction.sgml,v 1.4 2004/10/06 09:07:39 fukachan Exp $ --> @@ -226,8 +226,8 @@ while ($obj->get_next_key()) { ... } </para> <para> -これはハッシュの FIRST_KEY() と NEXT_KEY() にあたるといえます。でも、 -我々の場合は open() などのメソッドが別途用意されているため、 +これはハッシュの FIRST_KEY() と NEXT_KEY() にあたるといえます。 +しかしながら、我々の場合は open() などのメソッドが別途用意されているため、 FIRST_KEY() と NEXT_KEY() のように2つに分ける必要はありません。 </para> @@ -268,7 +268,7 @@ PRIMARY KEY の一覧くらいか? 定石は全部読んでみること、つまり get_next_key() を呼びまくるコードです。 専用のメソッドがあった方が便利でしょうけど、 滅多にそんなコードは必要ないようなので、 -専用メソッドがなくても問題はがないようです。 +専用メソッドがなくても問題はないようです。 </para> <para> @@ -291,7 +291,7 @@ ARRAY_REF で返すのでしょうかね?でも、find('*', { all => 1 }) などとす <para> これこそ、どういうデータ構造が欲しいんでしょうねぇ? -返り値が HASH_REF であるようなメソッドが欲しいだろうか? +返り値が HASH_REF であるようなメソッドが欲しいのだろうか? <screen> 返り値 = { 変数1 => 値1、 diff --git a/fml/doc/ja/tutorial/internals/lock.sgml b/fml/doc/ja/tutorial/internals/lock.sgml index a07d44a3..f02d3baf 100644 --- a/fml/doc/ja/tutorial/internals/lock.sgml +++ b/fml/doc/ja/tutorial/internals/lock.sgml @@ -1,5 +1,5 @@ <!-- - $FML: lock.sgml,v 1.3 2003/04/15 14:51:41 fukachan Exp $ + $FML: lock.sgml,v 1.4 2004/10/06 09:07:39 fukachan Exp $ --> @@ -8,6 +8,11 @@ ロック </title> +<para> +プロセス間の同期化はロックを用いて行ないます。fml8 でサポートされてい +るロックメカニズムは flock(2) or lockf(2) を元にしたロック機構のみです。 +</para> + <sect1 id="lock.overview"> <title> @@ -65,7 +70,7 @@ FML/Credential.pm </title> <para> -*_maps をよぶまえには MUTEX ロックをする。いや、やりすぎかもしれません。 +*_maps をよぶまえには MUTEX でロックをする。いや、やりすぎかもしれません。 </para> <para> diff --git a/fml/doc/ja/tutorial/internals/merge.sgml b/fml/doc/ja/tutorial/internals/merge.sgml index 9364fb68..b8059e1f 100644 --- a/fml/doc/ja/tutorial/internals/merge.sgml +++ b/fml/doc/ja/tutorial/internals/merge.sgml @@ -1,5 +1,5 @@ <!-- - $FML: merge.sgml,v 1.1 2004/03/23 05:16:52 fukachan Exp $ + $FML: merge.sgml,v 1.2 2004/10/06 09:07:40 fukachan Exp $ --> @@ -24,9 +24,9 @@ </para> <para> -1) fml-devel をインストールする。この際、postfix の alias_maps に -/var/spool/ml/etc/mail/aliases (まだ、この段階では中身のないファイル) -を追加する。 +1) fml8 をインストールする。この際、postfix の alias_maps に +/var/spool/ml/etc/mail/aliases (まだ、この段階では中身のないファイルで +よい)を追加する。 </para> <para> diff --git a/fml/doc/ja/tutorial/internals/restriction.sgml b/fml/doc/ja/tutorial/internals/restriction.sgml index f53f5088..bcb0c597 100644 --- a/fml/doc/ja/tutorial/internals/restriction.sgml +++ b/fml/doc/ja/tutorial/internals/restriction.sgml @@ -1,5 +1,5 @@ <!-- - $FML: restriction.sgml,v 1.7 2003/04/15 14:51:41 fukachan Exp $ + $FML: restriction.sgml,v 1.8 2004/10/06 09:07:40 fukachan Exp $ --> @@ -25,13 +25,15 @@ </title> <para> -FML::Restriction クラスによる入力データチェックはありませんが、 -FML::Filter クラスによるフィルタチェックがデフォルトで適用されます。フィ -ルタをはずすには、config.cf で -<screen> -use_article_body_filter = no -</screen> -を設定して下さい。 +そもそも記事に対する入力制限(入力データの表現範囲の制限)というものは考 +えにくいです。実際 FML::Restriction クラスによる入力データチェックはあ +りません。 +</para> + +<para> +(FML::Restriction の対象としている操作とは意味合いが異なりますが)一行 +メールなどをはじくために FML::Filter クラスによるフィルタチェックがデ +フォルトで適用されています。 </para> </sect2> @@ -45,7 +47,7 @@ use_article_body_filter = no <para> コマンドメールは FML::Process::Command の中で一行ずつ FML::Restriction::Command で定義されている正規表現にしたがって -検査されます。検査に合格すれば、 +入浴されたコマンド列が検査されます。検査に合格すれば、 FML::Command::{User,Admin}::コマンド の実行に進むことができます。 </para> @@ -58,8 +60,8 @@ FML::Command::{User,Admin}::コマンド の実行に進むことができます。 </title> <para> -CGI の各プログラムでは、safe_param_ほえほえ() という関数経由でのみデー -タを受けとることができます。 +CGI の各プログラムでは、safe_param_XXX() という関数経由でのみ HTTP セッ +ションからのデータを受けとることができます。 </para> <para> @@ -71,7 +73,8 @@ try_cgi_*() <para> これらの safe_param_XXX() は FML::Restriction::CGI ( -FML::Restriction::Base を継承している)経由でパターンの検査をしています。 +FML::Restriction::Base を継承している)経由でパターンの検査をし、 +検査に合格した場合にのみ値が返されています。 </para> </sect2> @@ -83,9 +86,9 @@ FML::Restriction::Base を継承している)経由でパターンの検査をしています。 </title> <para> -コマンドラインで実行するので、「入力チェックなし」がデフォルトです。 -そのシェルが取れる時点で認証されているはずなので、 -正しいユーザ/そのユーザのすることは正しいと信じています。 +コマンドラインで実行するので「入力チェックなし」がデフォルトです。つま +り、そのシェルが取れる時点で正規のユーザであると認証されているはずなの +で「正しいユーザ/そのユーザのすることはすべて正しい」と信じています。 </para> <para> @@ -179,7 +182,7 @@ for my $key (param()) { <sect1> <title> - 議論; FML::Restriction の制限はきびし過ぎる? + 議論: FML::Restriction の制限はきびし過ぎる? </title> <para> diff --git a/fml/doc/ja/tutorial/internals/style.sgml b/fml/doc/ja/tutorial/internals/style.sgml index d57af393..b499b393 100644 --- a/fml/doc/ja/tutorial/internals/style.sgml +++ b/fml/doc/ja/tutorial/internals/style.sgml @@ -1,5 +1,5 @@ <!-- - $FML: style.sgml,v 1.12 2004/04/07 11:07:08 fukachan Exp $ + $FML: style.sgml,v 1.13 2004/10/06 09:07:40 fukachan Exp $ --> @@ -275,7 +275,7 @@ Srting::is_japanese_string() <para> Perl ではポリモーフィズムと実行時バインディングができることに - は重視すること。多重継承などに頭を使うより + 重視すること。多重継承などに頭を使うより ポリモーフィズムと実行時バインディングによる コンポーネント指向ぽい方向性を模索する。 </para> diff --git a/fml/doc/ja/tutorial/message/discussion.sgml b/fml/doc/ja/tutorial/message/discussion.sgml index df221da3..3b2634c2 100644 --- a/fml/doc/ja/tutorial/message/discussion.sgml +++ b/fml/doc/ja/tutorial/message/discussion.sgml @@ -1,5 +1,5 @@ <!-- - $FML: discussion.sgml,v 1.4 2003/04/15 14:51:42 fukachan Exp $ + $FML: discussion.sgml,v 1.5 2004/10/06 09:07:40 fukachan Exp $ --> @@ -22,11 +22,11 @@ </title> <para> -&fml4; では +&fml4; には <screen> Mesg(*e, キーワード, デフォルトのメッセージ, 変換に使う引数); </screen> -の形で呼び出します。 +の形で呼び出す関数がありました。 </para> <para> @@ -49,7 +49,7 @@ Mesg() は /usr/local/fml/messages/Japanese/ 以下にあるファイル群に対し <!-- ===================================================== --> <sect2> <title> - &fmldevel; はどうするべきか? + &fmldevel; では、どうするべきか? </title> <para> diff --git a/fml/doc/ja/tutorial/message/language.sgml b/fml/doc/ja/tutorial/message/language.sgml index fff0617c..5df7d5b1 100644 --- a/fml/doc/ja/tutorial/message/language.sgml +++ b/fml/doc/ja/tutorial/message/language.sgml @@ -1,5 +1,5 @@ <!-- - $FML: language.sgml,v 1.5 2003/04/15 14:51:42 fukachan Exp $ + $FML: language.sgml,v 1.6 2004/04/07 11:07:09 fukachan Exp $ --> @@ -36,10 +36,9 @@ $curproc->reply_message_nl('error.already_member', <screen> $_arg_address </screen> -はハッシュリファレンスとして与えられた引数の値へ展開されます。 -上の例でいえば、 -メッセージテンプレート中の $_arg_address が引数中の -_arg_address の値で展開されます。 +は reply_message_nl の引数のハッシュリファレンスとして与えられた値へ展 +開されます。上の例でいえば、メッセージテンプレート中の $_arg_address +が引数中の _arg_address の値で展開されます。 </para> <para> diff --git a/fml/doc/ja/tutorial/module/IO.sgml b/fml/doc/ja/tutorial/module/IO.sgml index 90422163..af65ba8b 100644 --- a/fml/doc/ja/tutorial/module/IO.sgml +++ b/fml/doc/ja/tutorial/module/IO.sgml @@ -1,5 +1,5 @@ <!-- - $FML: IO.sgml,v 1.3 2003/04/13 04:36:12 fukachan Exp $ + $FML: IO.sgml,v 1.4 2003/04/15 14:51:42 fukachan Exp $ --> <chapter id="module.io.adapter"> @@ -16,7 +16,7 @@ <para> &fmldevel; でのメンバーリストの読み書き、例えばアドレスの登録/削除は IO::Adapter という抽象クラスを通じて行ないます。ようは Unix で -vfs/vnode インターフェイスの導入した時のような感じですね。 +vfs/vnode インターフェイスを導入した時のような感じですね。 使い方は次のようになります。 <screen> use IO::Adapter; @@ -28,8 +28,9 @@ $obj->close; </para> <para> -$map は「map:識別子」となります。file: は省略可能です。 +$map は「map:識別子」となります。 現在のところ $map は次のようなものが使えます。 +file: は省略可能です。 <screen> file:/var/spool/ml/elena/recipients unix.group:root @@ -45,7 +46,7 @@ file: は通常のファイルです。 unix.group:root は /etc/group の root のエントリにあるユーザのリストを、 nis.group:root は NIS の root のエントリにあるユーザのリストです。 mysql:id は MySQL へのアクセスです。 -mysql:id で指定されたパラメータを用います。 +config.cf の mysql:id で指定されたパラメータを用います。 このパラメータは new IO::Adapter を実行する際に、 指定する必要があります。 </para> @@ -142,7 +143,7 @@ rudo@nuinui.net => [ </para> <para> -まとめると引数は「ない」か」STR」なので STR とひとまとめにしても良いで +まとめると引数は「ない」か「STR」なので STR とひとまとめにしても良いで しょう。一方、返り値は STR か ARRAY_REF になります。 <screen> 引数 返り値 @@ -262,7 +263,7 @@ new IO::Adapter "mysql:members", $config; </screen> のように呼び出します。 この $config は次のようなハッシュ・リファレンスになっていることが -期待されています。 +期待されています。通常 $config は FML::Config オブジェクトそのものです。 <screen> $config => { [mysql:members] => { @@ -286,21 +287,20 @@ FML::Config のオブジェクトを引数で渡せば OK です。 <para> 関数が呼ばれた時に始めて決まる変数もあるので -cf で全部定義することはできない。 -そこで、lexical scope で取り扱われる変数の表現があれば解決だろうか? -現在では &varname 記法(下記)を使っている。 +cf で全部定義することはできません。 +そこで、lexical scope で取り扱われる変数の表現があれば解決でしょうか? +現在では &varname 記法(下記)を使っています。 </para> <para> 例: -以下は、受信者リストとメンバーリストが食い違う例なので、 -アドレスの登録をする際に、fml_recepient という値が異なる。 +以下は、受信者リストとメンバーリストが食い違う例で、 +アドレスの登録をする際に、fml_recepient という値が異なります。 その場合、member と recipient は少し異なる SQL 命令になるので -別々に定義する。 +別々に定義します。 off/on 命令を無視するとか、 -fml は sql からデータを読むだけで、 -書き込むことはしないなら、 -話は簡単になる。 +fml は sql からデータを読むだけで書き込むことはしないなら、 +話は簡単になるわけです。 <screen> member_maps = mysql:members diff --git a/fml/doc/ja/tutorial/module/Message.sgml b/fml/doc/ja/tutorial/module/Message.sgml index 7d150622..9eb9dad5 100644 --- a/fml/doc/ja/tutorial/module/Message.sgml +++ b/fml/doc/ja/tutorial/module/Message.sgml @@ -1,5 +1,5 @@ <!-- - $FML: Message.sgml,v 1.1 2003/02/18 02:29:14 fukachan Exp $ + $FML: Message.sgml,v 1.2 2003/04/15 14:51:42 fukachan Exp $ --> <chapter id="module.mail.message"> @@ -69,7 +69,7 @@ parse() メソッドは引数で与えられたファイル(名)かファイルディスクリプタ <para> data_type_list() は鎖の列の情報を返します。情報は ARRAY REFERENCE の形 -で返されます。例えば MIME/Multipart は次の表現されています。 +で返されます。例えば MIME/Multipart は次のように表現されています。 <screen> type[ 1]: text/rfc822-headers | multipart/mixed type[ 2]: multipart/mixed | multipart/mixed @@ -81,7 +81,7 @@ data_type_list() は鎖の列の情報を返します。情報は ARRAY REFERENCE の形 type[ 8]: multipart.close-delimiter | multipart/mixed type[ 9]: text/plain | multipart/mixed </screen> -真中の列がオブジェクトの鎖を表しています。 +真中の列が各オブジェクトの種別を表しています。 右端は全体の mime type です。 </para> @@ -148,8 +148,9 @@ whole_message_header() <para> __head_message() は鎖の先頭のオブジェクトを返します。 __last_message() は鎖の最後のオブジェクトを返します。 -そのため、通常、図の header オブジェクトを返すことになりますので、 -多くの場合 whole_message_header() と等価です。 +プライベートなので、これらのメソッドはは使わないで下さい。 +__head_message() は、通常、図の header オブジェクトを返すことになりま +すので、多くの場合 whole_message_header() と等価です。 </para> <para> @@ -168,7 +169,7 @@ header_data_type() </title> <para> -以下では、このような鎖を例にとるとします。 +以下では、このような鎖を例にとることにします。 <screen> (multipart でない場合) diff --git a/fml/doc/ja/tutorial/module/create.sgml b/fml/doc/ja/tutorial/module/create.sgml index f0ba9636..b1e03cff 100644 --- a/fml/doc/ja/tutorial/module/create.sgml +++ b/fml/doc/ja/tutorial/module/create.sgml @@ -1,5 +1,5 @@ <!-- - $FML: create.sgml,v 1.1 2003/02/18 02:24:47 fukachan Exp $ + $FML: create.sgml,v 1.2 2003/04/15 14:51:42 fukachan Exp $ --> <chapter id="module.create"> @@ -27,9 +27,16 @@ </title> <para> +fml/bin/fmlsch.in シェルスクリプトを用意し、 fml/etc/install.cf.in の bin_programs 変数に fmlsch を追加します。 -fml/etc/install.cf を再生成するために -configure を再実行してください。 +bin_programs にあるスクリプトはインストーラがインストールしてくれます。 +</para> + +<para> +fml/bin/fmlsch および fml/etc/install.cf の生成は +configure が行ないます。 +configure.in に、この2つのファイルの変数展開をするように登録し、 +autoconf を実行して configure を生成して下さい。 </para> </sect2> @@ -43,7 +50,7 @@ configure を再実行してください。 <para> fmlsch の実体のモジュールとして、 -fml/lib/Calender/Lite.pm を書きます。 +fml/lib/FML/Demo/Calendar.pm を書きます。 </para> <para> @@ -66,8 +73,8 @@ Date-Calc も必要なので適宜インストールしてください。 </title> <para> -仕事のほとんどの部分は Calender::Lite が実行しますが、 -&fmldevel; のブートローダから Calender::Lite を呼び出すために +仕事のほとんどの部分は FML::Demo::Calendar が実行しますが、 +&fmldevel; のブートローダから FML::Demo::Calendar を呼び出すために FML::Process:: クラスを修正する必要があります。 </para> diff --git a/fml/doc/ja/tutorial/overview/fml.sgml b/fml/doc/ja/tutorial/overview/fml.sgml index 039be1fb..2d75d2cf 100644 --- a/fml/doc/ja/tutorial/overview/fml.sgml +++ b/fml/doc/ja/tutorial/overview/fml.sgml @@ -1,5 +1,5 @@ <!-- - $FML: fml.sgml,v 1.6 2004/10/06 09:07:41 fukachan Exp $ + $FML: fml.sgml,v 1.7 2004/12/23 15:00:32 fukachan Exp $ --> @@ -78,7 +78,7 @@ リモート管理者の登録/削除、 ログを見る、 メンバーリストを見る。 - 設定ファイルの編集機能が未実装です。 + 設定ファイルの編集機能が実装途中です。 </para> </listitem> @@ -179,7 +179,7 @@ <para> 注意: ただし、代表的な機能だけで、全ての変数の互換性があるわけ - ではない。 + ではありません。 </para> </listitem> @@ -187,7 +187,7 @@ <listitem> <para> 2004 夏以降: 配送キュー管理システムにより再送処理。 - 事実上 MTA の役割をしている。 + 事実上 MTA の役割をしています。 </para> </listitem> @@ -463,8 +463,9 @@ elena@fml.org MLを作るには <warning> <para> -まだ makefml config は使えません。ごめんなさい。 -ファイルを手で編集して下さい。 +makefml config は実装途中です。 +まだイマイチです。ごめんなさい。 +いまは、まだ config.cf ファイルを手で編集して下さい。 </para> </warning> diff --git a/fml/doc/ja/tutorial/preface.sgml b/fml/doc/ja/tutorial/preface.sgml index 51babf17..c1a65552 100644 --- a/fml/doc/ja/tutorial/preface.sgml +++ b/fml/doc/ja/tutorial/preface.sgml @@ -1,5 +1,5 @@ <!-- - $FML: preface.sgml,v 1.21 2004/10/06 09:07:32 fukachan Exp $ + $FML: preface.sgml,v 1.22 2004/12/23 15:01:14 fukachan Exp $ --> @@ -17,8 +17,8 @@ <warning> <para> -現状の &fml8; は運用ベースの実証実験の段階に入り、 -基本的な機能は実装されています。 +現状の &fml8; は運用ベースの実証実験の段階です。 +基本的な機能は、ほぼすべて実装されています。 MLごとに細かい設定変更をしたい場合はファイルの編集が必要ですが、 ツール類を含めて &fml4; と同様に使えるはずです。 </para> @@ -111,7 +111,7 @@ bug tracking system を提供して欲しいし、bug tracking system もサーチエ <listitem> <para> - もう要らない機能はどれか? + すでに不要の機能は何か? </para> </listitem> @@ -182,7 +182,7 @@ current という位置付けになります。4.0 の bug fix は 4.0.x (4.0.1 4.0.2 また、&fml8; 用に作られたモジュールを &fml4; へ輸入する予定です。 たとえば 4.0 でも独立性の高い mead (エラーメール解析プログラム)や、 スレッド追跡システムです。 -これは &fml8; の機能を 4.0 でテストをするいう意味あいもあります。 +これは &fml8; の機能を 4.0 でテストをするいう意味あいでもあります。 この作業は 4.0.4 か 4.0.5 以降本格化する予定です。 </para> diff --git a/fml/doc/ja/tutorial/setup/apache.sgml b/fml/doc/ja/tutorial/setup/apache.sgml index 4b310f0c..58ee7c97 100644 --- a/fml/doc/ja/tutorial/setup/apache.sgml +++ b/fml/doc/ja/tutorial/setup/apache.sgml @@ -1,5 +1,5 @@ <!-- - $FML: apache.sgml,v 1.2 2004/10/03 10:55:15 fukachan Exp $ + $FML: apache.sgml,v 1.3 2004/10/06 09:07:42 fukachan Exp $ --> @@ -35,7 +35,7 @@ configure を実行する際に、 configure --enable-suexec --suexec-caller=www </screen> などとします。 -ここでは suexec を呼ことが可能なユーザが www です。 +ここでは suexec を呼びだすことが可能なユーザが www です。 このユーザには、この用途専用のものを用意して下さい。 </para> diff --git a/fml/doc/ja/tutorial/setup/cgi.sgml b/fml/doc/ja/tutorial/setup/cgi.sgml index 483fb406..1a9bef1b 100644 --- a/fml/doc/ja/tutorial/setup/cgi.sgml +++ b/fml/doc/ja/tutorial/setup/cgi.sgml @@ -1,5 +1,5 @@ <!-- - $FML: cgi.sgml,v 1.7 2004/10/06 09:07:42 fukachan Exp $ + $FML: cgi.sgml,v 1.8 2004/10/27 10:21:58 fukachan Exp $ --> @@ -27,10 +27,10 @@ apache で suexec を使う </para> <para> -2004 年、秋現在、MLごとの CGI およびドメイン全体を管理する CGI が用 -意されています。このインターフェイスで、ユーザの追加、削除、メンバーリ -ストやログの閲覧などが可能ですが、CGI からの設定変更インターフェイス( -config.cf の編集機能)が未実装です。 +現在、MLごとの CGI およびドメイン全体を管理する CGI が用意されていま +す。このインターフェイスで、ユーザの追加、削除、メンバーリストやログの +閲覧などが可能ですが、CGI からの設定変更インターフェイス( config.cf の +編集機能)が中途半端です。 </para> <para> @@ -50,8 +50,7 @@ qmail を使っているなら、CGI 用の特別な「メールサーバの設定変更」は不要 <para> makefml newml を実行するとデフォルトで config.cgi などの CGI スクリプ トが ~fml/public_html/ 以下に用意されています。この CGI は二種類あり、 -ドメイン全体を管理する CGI と、それぞれのMLを管理する CGI と両方あり -ます。 +ドメイン全体を管理する CGI と、それぞれのMLを管理する CGI があります。 <screen> そのドメインのML全部の管理者用 ~fml/public_html/fml/ドメイン/admin/config.cgi @@ -109,7 +108,8 @@ http://lists.fml.org/~fml/cgi-bin/fml/fml.org/.htaccess <footnote> <para> さらに、デフォルトの apache では ~fml/ へのアクセスは出来ないはずなの -で、apache の設定も別途必要です。一応、この二段構えになっています。 +で、apache の設定も別途必要です。一応、デフォルトでは、この二段構えの +拒否体制になっています。 </para> </footnote> <screen> @@ -117,7 +117,8 @@ AuthName ByPassword AuthType Basic require valid-user </screen> -この .htaccess を適切なものに書き換えて下さい。 +この .htaccess を適切なものに書き換え、 +apache の設定で suexec を有効にして下さい。 <screen> 例 @@ -130,7 +131,7 @@ require valid-user <warning> <para> -(当たり前だけど)このファイルを消すと、誰でもアクセスできるようになりま +(当たり前ですが)このファイルを消すと、誰でもアクセスできるようになりま す。デバッグする場合はともかく、そういう裏技は使わないようにしましょう;-) また、そういうデバッグなんて時に限って、そのまま再設定し忘れたりするも のなので、しない方が良いです。きちんと .htaccess を設定しましょう。 diff --git a/fml/doc/ja/tutorial/setup/config.cf.sgml b/fml/doc/ja/tutorial/setup/config.cf.sgml index 4c06a4d7..8d60d17c 100644 --- a/fml/doc/ja/tutorial/setup/config.cf.sgml +++ b/fml/doc/ja/tutorial/setup/config.cf.sgml @@ -1,5 +1,5 @@ <!-- - $FML: config.cf.sgml,v 1.4 2004/04/07 11:07:11 fukachan Exp $ + $FML: config.cf.sgml,v 1.5 2004/10/06 09:07:42 fukachan Exp $ --> @@ -12,7 +12,7 @@ makefml は、 makefml newml を実行した際に、 そのMLの config.cf などの設定ファイル群を一式を作り、 -さらに、MTA が fml を起動する際に使う include 類( postfix 用)および +さらに MTA が fml を起動する際に使う include 類( postfix 用)および ~fml/.qmail-* ( qmail 用 ) などの必要な設定ファイル一式を用意します。 <screen> @@ -28,7 +28,7 @@ config.cf include include-ctl include-error <warning> <para> -現状、設定支援ツールがまだないので、MLのカスタマイズは config.cf を +現状、設定支援ツールが未完成なので、MLのカスタマイズは config.cf を エディタで編集して下さい。 </para> @@ -36,8 +36,8 @@ config.cf include include-ctl include-error <para> makefml newml が作る config.cf には、ほとんど何も定義されていません。 -config.cf の先頭の ml_domain と ml_name もコメントになっていますが、そ -れらはコマンドの引数から自動的に決定されます。 +config.cf の先頭の ml_domain と ml_name もコメントになっていますが、 +それらはコマンドの引数から自動的に決定されるのでコメントでよいのです。 </para> <para> diff --git a/fml/doc/ja/tutorial/setup/merge.fml4to8.sgml b/fml/doc/ja/tutorial/setup/merge.fml4to8.sgml index 1cdec728..932de0b1 100644 --- a/fml/doc/ja/tutorial/setup/merge.fml4to8.sgml +++ b/fml/doc/ja/tutorial/setup/merge.fml4to8.sgml @@ -1,5 +1,5 @@ <!-- - $FML: merge.fml4to8.sgml,v 1.4 2004/04/07 11:07:11 fukachan Exp $ + $FML: merge.fml4to8.sgml,v 1.5 2004/12/23 14:59:51 fukachan Exp $ --> @@ -20,7 +20,9 @@ <link linkend="mergeml.fml4.overview"> fml4 の fml.pl を fml8 の fml.pl と入れ換え可能 </link> -としました。 +としました。つまり、fml8 による fml4 の直接エミュレーションです。これ +は fml4 の fml.pl を fml8 の fml.pl に入れ換えるだけで 4 から 8 へのアッ +プグレードを可能にしようとするものです。 </para> @@ -30,19 +32,25 @@ fml4 の fml.pl を fml8 の fml.pl と入れ換え可能 </title> <para> -要するに fml4 から fml8 への移行ということですが、fml4 の実行ファイル -を fml8 で上書きすれば、そのまま動くようにはなっていません。 +要するに fml4 から fml8 への移行ということですが、「fml4 の実行ファイ +ルを fml8 で上書きすれば、そのまま動く」というわけではありません。 </para> <para> -上書きしてしまうと、一斉に移行を強制することになるし、失敗した時が痛過 -ぎます。やっぱり、少しずつ移行していきたいよね?また、少しずつ移行する -場合にも、出来れば、逆戻りができたほうがいいでしょう。 +今の fml8 では、それに近いことも出来ますが、その際にも、設定ファイルの +自動変換などバックグラウンドで色々な処理が行なわれています。 +</para> + +<para> +そもそも 4 を 8 で上書きしてしまうと、一斉に移行を強制することになるし、 +失敗した時のエラーリカバリが大変です。やはり、少しずつ移行していきたい +でしょう。また、少しずつ移行する場合にも、出来れば、逆戻りができたほう +がいいでしょう。 </para> <para> そんなわけで、ML一つ一つを移行できるような仕組みにしておきたい。 -できれば、リカバリも出来ると良いです。 +できれば、リカバリも出来ると良いとおもいます。 </para> <para> @@ -74,7 +82,7 @@ aliases や include の自動変換は、makefml mergeml コマンドが頑張ります。 </para> <para> -さすがに、難しい設定がてんこ盛りのconfig.phは無理ですが、簡単な +さすがに、難しい設定がてんこ盛りの config.ph は無理ですが、簡単な config.ph であれば、fml8 の config.cf へ全自動で変換できる予定です。な お、簡単な config.ph とは、たとえば、Subjectのタグと投稿制限の設定など の、makefml config (メニュー)で設定変更ができたレベルのものを想定して @@ -266,8 +274,8 @@ aliasesとincludeファイルについての説明をしておきます。 </para> <para> -起動された distribute コマンドは、config.cfを読み込み、config.cfからメ -ンバーリストなどの場所を知り、さまざまな処理を行なうといった具合です。 +起動された distribute コマンドは、config.cf を読み込み、config.cf から +メンバーリストなどの場所を知り、さまざまな処理を行なうといった具合です。 </para> <para> diff --git a/fml/doc/ja/tutorial/setup/newml.sgml b/fml/doc/ja/tutorial/setup/newml.sgml index 41f2f1ab..a257a05d 100644 --- a/fml/doc/ja/tutorial/setup/newml.sgml +++ b/fml/doc/ja/tutorial/setup/newml.sgml @@ -1,5 +1,5 @@ <!-- - $FML: newml.sgml,v 1.7 2004/04/07 11:07:11 fukachan Exp $ + $FML: newml.sgml,v 1.8 2004/10/06 09:07:42 fukachan Exp $ --> @@ -18,19 +18,23 @@ <para> デフォルトドメインの場合、&fml4 と同じで構いません。 バーチャルドメインを使う場合、ちょっと違います。 -次節を参照して下さい。 +バーチャルドメインについては +<link linkend="setup.newml.nondefault"> +<xref linkend="setup.newml.nondefault"> +</link> +を参照して下さい。 </para> </caution> <para> -makefml を使ってMLを作成します。 +MLの作成は makefml を使って行ないます。 使い方は &fml4; と同様です。 <screen> % su fml % makefml newml elena ... 処理の様子が出力される(略) ... </screen> -デフォルトの/var/spool/ml以外にパスを切替えたい場合は +デフォルトの /var/spool/ml 以外のパスを使いたい場合は makefml newdomain コマンドでパスを指定して下さい。 <screen> % su root @@ -45,7 +49,7 @@ makefml newdomain コマンドでパスを指定して下さい。 <para> -この時、makefml newml は以下のような処理をします。 +makefml newml は実行時、次のような処理を行ないます。 <itemizedlist> @@ -57,7 +61,7 @@ makefml newdomain コマンドでパスを指定して下さい。 include include-ctl </screen> - などを作る(適宜、elena やドメインの値を変換しながら) + などを作る(適宜、elena やドメインの値を変換しながら)。 </para> </listitem> @@ -131,50 +135,56 @@ makefml newdomain コマンドでパスを指定して下さい。 </caution> <para> -makefml を使ってMLを作成します。 -使い方は &fml4; と同様ですが、ML名にきちんとドメインまでつけて下さい。 +MLを作成には makefml を使います。 +使い方は &fml4; と同様です。 +しかしながらML名にきちんとドメインまでつけるところが異なります。 +注意して下さい。 +</para> + +<para> +初回は newdomain コマンドによるドメイン定義も必要です。 <screen> -初回は、newdomain コマンドによるドメイン定義も必要です。 % su root # makefml newdomain nuinui.net /var/spool/virtual/nuinui.net # exit % su fml % makefml newml elena@nuinui.net - +</screen> 二回目以降の場合は - +<screen> % su fml % makefml newml elena@nuinui.net - -だけでよいです。 </screen> +だけでかまいません。 </para> <para> newdomainコマンドでは、ドメインと使う ml_home_prefix ディレクトリのペ アを指定します。このコマンドは /usr/local/etc/fml/ml_home_prefix ファ -イルの編集を代行します。上の例では ml_home_prefix ファイルに次の行を追 -加します。 +イルの編集を代行します。上の例では ml_home_prefix ファイルに次の行が追 +加されます。 <screen> nuinui.net /var/spool/virtual/nuinui.net </screen> -ちなみに、消す場合は rmdomain コマンドです。 +ちなみに、この対応関係を消す場合は rmdomain コマンドです。 </para> <para> -newml コマンドは引数のML名をドメイン名つきにする以外、デフォルトドメ -インの場合と同じです。 +newml コマンドは、引数のML名をドメイン名つきにする以外、デフォルトド +メインの場合と操作方法は同じです。 </para> <para> -また、バーチャルドメインの場合は、各 MTA ごとのバーチャルドメインの設 -定見本を作ります。 +また、バーチャルドメインの場合、makefml newml は各 MTA ごとのバーチャ +ルドメイン用設定見本を作ります。たとえば <screen> /var/spool/ml/etc/sendmail/virtusertable /var/spool/ml/etc/postfix/virtual </screen> -注: -qmail や procmail にはバーチャル用の設定が特にあるわけではありません。 +が作られます。 +qmail 用の見本は作られません。 +な procmail は.procmailrcの見本がドメイン名つきなので別途バーチャル用 +という設定はありません。 </para> <para> diff --git a/fml/doc/ja/tutorial/setup/postfix.sgml b/fml/doc/ja/tutorial/setup/postfix.sgml index 27947294..a68f6109 100644 --- a/fml/doc/ja/tutorial/setup/postfix.sgml +++ b/fml/doc/ja/tutorial/setup/postfix.sgml @@ -1,5 +1,5 @@ <!-- - $FML: postfix.sgml,v 1.3 2003/04/15 14:51:44 fukachan Exp $ + $FML: postfix.sgml,v 1.4 2004/04/07 11:07:12 fukachan Exp $ --> <sect1 id="setup.postfix.aliases"> @@ -26,7 +26,7 @@ postfix の設定については <para> makefml はシステムの aliases (例: /etc/mail/aliases)を変更することはあ -りません。各ドメインごとにある alias ファイル +りません。各ドメインごとに用意されている alias ファイル $ml_home_prefix/etc/mail/aliases へ必要な設定を追加することと、そのファ イルから aliases.db を再生成する作業を行ないます。 </para> diff --git a/fml/doc/ja/tutorial/setup/procmail.sgml b/fml/doc/ja/tutorial/setup/procmail.sgml index 0aaacf34..9b8df9af 100644 --- a/fml/doc/ja/tutorial/setup/procmail.sgml +++ b/fml/doc/ja/tutorial/setup/procmail.sgml @@ -1,5 +1,5 @@ <!-- - $FML: procmail.sgml,v 1.4 2004/04/07 11:07:12 fukachan Exp $ + $FML: procmail.sgml,v 1.5 2004/10/06 09:07:42 fukachan Exp $ --> @@ -64,4 +64,23 @@ inbox/. </sect2> +<sect2> + <title> + バーチャルドメインの場合 + </title> + +<para> +上の例で分かるようにドメイン名つきのルールが記述されているので、 +procmail の設定でバーチャルドメインか否かは関係ありません。 +よって、特別な設定はありません。 +</para> + +<para> +もっとも、別途、バーチャルドメイン宛のメールをユーザ fml さんに転送す +る設定が MTA に必要なのですが、それは ISP なりメールサーバの管理者が行 +なってくれる必要があります。 +</para> + +</sect2> + </sect1> diff --git a/fml/doc/ja/tutorial/setup/qmail.sgml b/fml/doc/ja/tutorial/setup/qmail.sgml index 67708a5a..31b1e49c 100644 --- a/fml/doc/ja/tutorial/setup/qmail.sgml +++ b/fml/doc/ja/tutorial/setup/qmail.sgml @@ -1,5 +1,5 @@ <!-- - $FML: qmail.sgml,v 1.2 2002/07/06 14:55:20 fukachan Exp $ + $FML: qmail.sgml,v 1.3 2004/10/06 09:07:42 fukachan Exp $ --> @@ -31,4 +31,22 @@ fml.org:fml-fml.org </para> </warning> +<sect2> + <title> + バーチャルドメインの場合 + </title> + +<para> +makefml newml を実行するだけで自動的にMLが有効になるようにするには +/var/qmail/control/virtualdomains +に設定が必要です。しかしながら、このファイルは通常ユーザ fml さんには +編集する権限がないので、ML管理者が設定を追加して下さい。 +<screen> +ドメイン:fml-ドメイン +</screen> +この追加は全てのドメイン分必要なことに注意して下さい。 +</para> + +</sect2> + </sect1> diff --git a/fml/doc/ja/tutorial/setup/test.sgml b/fml/doc/ja/tutorial/setup/test.sgml index 8750ed00..f155e053 100644 --- a/fml/doc/ja/tutorial/setup/test.sgml +++ b/fml/doc/ja/tutorial/setup/test.sgml @@ -1,5 +1,5 @@ <!-- - $FML: test.sgml,v 1.5 2004/04/07 11:07:12 fukachan Exp $ + $FML: test.sgml,v 1.6 2004/10/06 09:07:42 fukachan Exp $ --> @@ -28,10 +28,9 @@ <warning> <para> -テストの前に -newml の際のユーザ重複チェックを効かせるために -postfix の aliases をきちんと追加して下さい。 -これをしないと root MLとか作れちゃいます:-) +newml の際のユーザ重複チェックを効かせるため、 +テストの前に postfix の aliases をきちんと追加して下さい。 +これをしないと root MLとかが作れてしまいます;-) </para> <para> @@ -54,8 +53,8 @@ qmail をメールサーバに使っている人は特にやることはないとおもいます。 </title> <para> -MLの動作テストの前に、ahodori.fml.org のメールサーバ自体がきちんと動 -作していることを確認して下さい。 +MLの動作テストの前に、メールサーバ(ここでは ahodori.fml.org とする) +自体がきちんと動作していることを確認して下さい。 </para> <para> @@ -69,24 +68,25 @@ qmail をメールサーバに使っている人は特にやることはないとおもいます。 </para> <para> -まず、メールサーバ以外のホストから rudo@fml.org へメールが届くか?(到 -達性)を確認して下さい。つまり、メールサーバ以外のホストから -rudo@fml.org くんにメールを出し、ちゃんと受信できているかを確認してく -ださい。もし受けとれないなら、そもそも Postfix の設定が間違っています。 -</para> - -<para> -次に、そのホスト上で rudo くんにメールが届くかも試して下さい。 +まず、そのホスト上で rudo くんにメールが届くかも試して下さい。 つまり ahodori の上で rudo@fml.org へメールを出してください。 <screen> % echo test |Mail rudo@fml.org </screen> -この場合も、 もし受けとれないなら、そもそも Postfix の設定が間違っています。 </para> <para> -Postfix の基本設定が正しいと確認できたらMLのテストに進んで下さい。 +次に、メールサーバ以外のホストから rudo@fml.org へメールが届くか?(到 +達性)を確認して下さい。つまり、メールサーバ以外のホストから +rudo@fml.org くんにメールを出し、ちゃんと受信できているかを確認してく +ださい。もし受けとれないなら、そもそも Postfix の設定が間違っています。 +</para> + +<para> +少なくとも、この二点のパターンが動作するならPostfix の基本設定が正しい +といえるでしょう。Postfix の基本設定が確認できたらMLのテストに進んで +下さい。 </para> </sect1> @@ -150,6 +150,10 @@ fml8 には、今のところ、それに相当するものはありません。 作らなきゃ… </para> +<!-- + XXX-TODO: makefml test コマンド +--> + </sect1> diff --git a/fml/doc/ja/tutorial/troubleshoot/filesystem.sgml b/fml/doc/ja/tutorial/troubleshoot/filesystem.sgml index 718dc05e..41678967 100644 --- a/fml/doc/ja/tutorial/troubleshoot/filesystem.sgml +++ b/fml/doc/ja/tutorial/troubleshoot/filesystem.sgml @@ -1,5 +1,5 @@ <!-- - $FML: filesystem.sgml,v 1.3 2004/06/23 15:08:34 fukachan Exp $ + $FML: filesystem.sgml,v 1.4 2004/10/06 09:07:42 fukachan Exp $ --> @@ -12,13 +12,13 @@ 基本的には、MTAによる再送処理が行なわれるように &fml8; が異常終了するか、 &fml8; 自身が頑張って配送処理を行なうか?の処理となります。 &fml8; 自身が頑張る場合、 -ログファイルやサマリファイルには欠落が出得るが、 +ログファイルやサマリファイルには欠落が出る可能性があり得ますが、 投稿された記事の内容が失われることだけはないつもりです。 </para> <para> 以下、記事の配送処理でファイルシステムのエラーで書き込みがうまくいかな -い時、何が起こるかを説明しましょう。 +い時、何が起こるかを説明します。 </para> @@ -40,7 +40,12 @@ MTA に再挑戦してもらうため、exit(EX_TEMPFAIL)でプロセスを異常終了させます。 <para> このとき、incoming queue には中途半端にメールが書き込まれたファイルが -残り得ます。このキューは、あとでキュー管理システムにより削除されます。 +残り得ます。 +異常終了時にもこのファイルを消すようにしていますが、 +万が一残ってしまっても +あとでキュー管理システムにより削除されます。 +正確には古くなったincoming queueのファイルを消す処理が定期的に +行なわれるため、その時に消去されます。 </para> </sect2> @@ -56,13 +61,14 @@ MTA に再挑戦してもらうため、exit(EX_TEMPFAIL)でプロセスを異常終了させます。 書き込めたか(ファイルに書いて、閉じて、再び開いて、再度読みこんでみる) を確認し、成功していれば、処理を進めます。 失敗していた場合、exit(EX_TEMPFAIL) で終了し、 -MTA から &fml8; を再呼出してもらうようにします。 +MTA から &fml8; を再呼び出ししてもらうようにします。 </para> <caution> <para> 記事番号は更新してしまったので、この処理以降、exit(EX_TEMPFAIL) で終了してはいけません。 +つまり重複するので MTA に再配送を依頼してはいけません。 </para> </caution> diff --git a/fml/doc/ja/tutorial/usage/chaddr.sgml b/fml/doc/ja/tutorial/usage/chaddr.sgml index 95d4164d..816dd21f 100644 --- a/fml/doc/ja/tutorial/usage/chaddr.sgml +++ b/fml/doc/ja/tutorial/usage/chaddr.sgml @@ -1,5 +1,5 @@ <!-- - $FML: chaddr.sgml,v 1.2 2003/04/15 14:51:45 fukachan Exp $ + $FML: chaddr.sgml,v 1.3 2004/10/06 09:07:43 fukachan Exp $ --> @@ -18,8 +18,8 @@ chaddr 旧アドレス 新アドレス elena-ctl@fml.org に送って下さい。 旧アドレス、新アドレス どちらのアドレスから送っても構いません。 -confirmatin が返送されます。 -その confirmation に返答すると変更されます。 +confirmation が返送されます。 +その confirmation に返答すると実際にアドレスが変更されます。 </para> </sect1> diff --git a/fml/doc/ja/tutorial/usage/chapter.onhost.sgml b/fml/doc/ja/tutorial/usage/chapter.onhost.sgml index 337ea4c1..82208a98 100644 --- a/fml/doc/ja/tutorial/usage/chapter.onhost.sgml +++ b/fml/doc/ja/tutorial/usage/chapter.onhost.sgml @@ -1,5 +1,5 @@ <!-- - $FML: chapter.onhost.sgml,v 1.10 2004/04/07 11:07:12 fukachan Exp $ + $FML: chapter.onhost.sgml,v 1.11 2004/10/06 09:07:43 fukachan Exp $ --> @@ -50,8 +50,8 @@ makefml を使う操作は confirmation が不要です。makefml を実行できる時点 <para> そのためファイルの直接編集などはせずに、通常は「makefml ( /usr/local/bin/makefml )コマンドを使うことで fml の設定を変更して下さ -い」というポリシーが推奨されています。もちろんファイルを編集しても構い -ませんが、内部構造などをよく理解してからにしてください。 +い」という運用ポリシーが推奨されています。もちろんファイルを編集しても +かまいませんが、その場合、内部構造などをよく理解してからにしてください。 </para> <para> @@ -138,6 +138,24 @@ fmlconf [-n] $ml <sect2> <title> + MLごとの操作だが、単なるコマンドの wrapper + </title> + +<para> +PGP / GPG コマンドの操作コマンド(例: fmlpgp)が、これにあたります。 +でも、いいのか、この基準は… +</para> + +<para> +コマンドラインオプションなどを一切考えない特殊なモードを作り込めば +makefml に移すことが出来ないわけではないはずですが、こまりました。 +</para> + +</sect2> + + +<sect2> + <title> 操作を施すコマンドだが、 特定のMLとの関わりはないかも知れないタイプ (read / write ?) </title> diff --git a/fml/doc/ja/tutorial/usage/command.sgml b/fml/doc/ja/tutorial/usage/command.sgml index 6f0f56f1..65d0844c 100644 --- a/fml/doc/ja/tutorial/usage/command.sgml +++ b/fml/doc/ja/tutorial/usage/command.sgml @@ -1,5 +1,5 @@ <!-- - $FML: command.sgml,v 1.8 2004/04/07 11:07:13 fukachan Exp $ + $FML: command.sgml,v 1.9 2004/10/06 09:07:43 fukachan Exp $ --> @@ -29,8 +29,8 @@ makefml を使えるということは、MLサーバのホストのシェルが取れている、 一方、コマンドメールなどで一般ユーザに提供する機能には、いろいろな制限 をかけるべきです。実際、ユーザに提供されているコマンド操作は makefml で可能な操作のごく一部です。つまり、コマンドメールとは makefml のコマ -ンドの一部を使えなくし、適宜 confirmation を付け加えたコマンド体系といっ -てよいでしょう。 +ンドの一部を使えなくし、適宜 confirmation を付け加えたコマンド体系と考 +えられます。 </para> </important> @@ -53,9 +53,7 @@ command はメールを標準入力から受けとり、 <warning> <para> &fml4; と違い、&fml8; ではコマンドの結果を -<link linkend="message.reply"> 一通のメール ( MIME/Multipart )にまとめて返送 -</link> しています。 </para> </warning> diff --git a/fml/doc/ja/tutorial/usage/get.sgml b/fml/doc/ja/tutorial/usage/get.sgml index 54f21a06..fb999cbf 100644 --- a/fml/doc/ja/tutorial/usage/get.sgml +++ b/fml/doc/ja/tutorial/usage/get.sgml @@ -1,5 +1,5 @@ <!-- - $FML: get.sgml,v 1.2 2003/04/15 14:51:46 fukachan Exp $ + $FML: get.sgml,v 1.3 2004/10/06 09:07:44 fukachan Exp $ --> @@ -20,7 +20,7 @@ elena-ctl@fml.org に送って下さい。 </para> <para> -気時番号の部分では MH 準拠の書き方をして構いません。 +記事番号の部分では MH 準拠の書き方をして構いません。 <screen> 例 diff --git a/fml/doc/ja/tutorial/usage/guide.sgml b/fml/doc/ja/tutorial/usage/guide.sgml index 0b387ddd..a77b942d 100644 --- a/fml/doc/ja/tutorial/usage/guide.sgml +++ b/fml/doc/ja/tutorial/usage/guide.sgml @@ -1,5 +1,5 @@ <!-- - $FML: guide.sgml,v 1.1 2002/07/28 12:20:20 fukachan Exp $ + $FML: guide.sgml,v 1.2 2004/10/06 09:07:44 fukachan Exp $ --> @@ -18,7 +18,7 @@ elena-ctl@fml.org に送って下さい。 <para> guide という名前のファイルがMLのホームディレクトリにあれば、そのファ イルを送り返します。ない場合(デフォルト)は、テンプレートの guide ファ -イルがお繰り返されます。 +イルが送り返されます。 </para> </sect1> diff --git a/fml/doc/ja/tutorial/usage/help.sgml b/fml/doc/ja/tutorial/usage/help.sgml index 1eca106b..40fedf46 100644 --- a/fml/doc/ja/tutorial/usage/help.sgml +++ b/fml/doc/ja/tutorial/usage/help.sgml @@ -1,5 +1,5 @@ <!-- - $FML: help.sgml,v 1.1 2002/07/28 12:20:20 fukachan Exp $ + $FML: help.sgml,v 1.2 2004/10/06 09:07:44 fukachan Exp $ --> @@ -22,7 +22,7 @@ elena-ctl@fml.org に送って下さい。 <para> help という名前のファイルがMLのホームディレクトリにあれば、そのファ イルを送り返します。ない場合(デフォルト)は、テンプレートの help ファ -イルがお繰り返されます。 +イルが送り返されます。 </para> </sect1> diff --git a/fml/doc/ja/tutorial/usage/makefml.sgml b/fml/doc/ja/tutorial/usage/makefml.sgml index 2d3594dd..0eae4076 100644 --- a/fml/doc/ja/tutorial/usage/makefml.sgml +++ b/fml/doc/ja/tutorial/usage/makefml.sgml @@ -1,5 +1,5 @@ <!-- - $FML: makefml.sgml,v 1.9 2004/10/06 09:07:44 fukachan Exp $ + $FML: makefml.sgml,v 1.10 2004/12/23 15:01:14 fukachan Exp $ --> @@ -15,8 +15,9 @@ </screen> ML名は@抜きの場合、デフォルトのドメインとなり、アドレスを完全に指定 すればバーチャルドメインまで含めて makefml がよろしくがんばることになっ -ています。もちろんデフォルトかバーチャルかにかかわらず、常に@ドメイン -つきで指定して構いません。例えば +ています。もちろんデフォルトかバーチャルかいなかにかかわらず、常に@ド +メインつきで指定して構いません。 +例えばデフォルトドメイン(fml.org)であれば、次の二つは同じ意味です。 <screen> % makefml newml elena % makefml newml elena@fml.org @@ -47,7 +48,7 @@ ML名は @ 抜きの場合デフォルトのドメイン、 アドレスを完全に指定すればバーチャルドメインまで含めて makefml がよろしくがんばります。 -例えば +例えばデフォルトドメイン(fml.org)であれば、次の二つは同じ意味です。 <screen> % makefml rmml elena % makefml rmml elena@fml.org @@ -58,7 +59,7 @@ makefml がよろしくがんばります。 できるだけ newml の反対の動作をします。 ホームディレクトリを消すとか MTA の alias の該当エントリを消すといったことなども -できそうなことは全て頑張ります。 +可能な操作は全て頑張ります。 </para> </sect1> @@ -79,8 +80,9 @@ MTA の alias の該当エントリを消すといったことなども ML名は @ 抜きの場合デフォルトのドメイン、 アドレスを完全に指定すればバーチャルドメインまで含めて makefml がよろしくがんばります。 -例えば <screen> +例 + % su fml % makefml useradd elena rudo@nuinui.net % makefml userdel elena rudo@nuinui.net @@ -130,8 +132,9 @@ unsubscribe ML名は @ 抜きの場合デフォルトのドメイン、 アドレスを完全に指定すればバーチャルドメインまで含めて makefml がよろしくがんばります。 -例えば <screen> +例 + % su fml % makefml chaddr elena rudo@nuinui.net teddy@nuinui.net % makefml chaddr elena@fml.org rudo@nuinui.net teddy@nuinui.net @@ -149,6 +152,8 @@ makefml がよろしくがんばります。 <para> <screen> +例 + % makefml off elena メールアドレス </screen> </para> @@ -164,6 +169,8 @@ makefml がよろしくがんばります。 <para> off の反対 <screen> +例 + % makefml on elena メールアドレス </screen> </para> @@ -178,6 +185,8 @@ off の反対 <para> <screen> +例 + % makefml log elena % makefml log elena@fml.org </screen> @@ -193,13 +202,17 @@ off の反対 <para> <screen> +例 + % makefml list elena </screen> -これはメンバーのリスト(投稿可能者のリスト)を表示します。 +これは受信者のリストを表示します。 <screen> -% makefml list elena recipient +例 + +% makefml list elena member </screen> -は受信者のリストを表示します。 +メンバーのリスト(投稿可能者のリスト) </para> <para> @@ -225,9 +238,9 @@ xxx_maps は </title> <para> -2004/11 現在、テスト版が動いています。日本語メニューでもないし、まだま -だ作り込みが必要という状態ですが、一応フレームワークは作成済みというス -テータスです。 +2004/11 現在、設定支援メニューインターフェイスのテスト版が動いています。 +日本語メニューでもないし、まだまだ作り込みが必要という状態ですが、一応 +フレームワークは作成済みというステータスです。 </para> <para> @@ -246,7 +259,7 @@ xxx_maps は <para> makefml を使える管理者が一番偉い人です。当然:-)、 makefml を使える管理者は、 -(より権限の弱い)リモート管理のための諸設定をすることができます。 +(より権限の弱い)リモート管理のための諸設定を行なうことができます。 </para> </warning> diff --git a/fml/doc/ja/tutorial/usage/post.sgml b/fml/doc/ja/tutorial/usage/post.sgml index 4147d320..59571426 100644 --- a/fml/doc/ja/tutorial/usage/post.sgml +++ b/fml/doc/ja/tutorial/usage/post.sgml @@ -1,5 +1,5 @@ <!-- - $FML: post.sgml,v 1.8 2004/04/07 11:07:13 fukachan Exp $ + $FML: post.sgml,v 1.9 2004/10/06 09:07:44 fukachan Exp $ --> @@ -22,7 +22,7 @@ MTA へ配送処理を委ねます。 <sect2> <title> - fml.pl が MLとして処理するべきこと + distribute が MLとして処理するべきこと </title> diff --git a/fml/doc/ja/tutorial/usage/subscribe.sgml b/fml/doc/ja/tutorial/usage/subscribe.sgml index 825580c8..76be5ed6 100644 --- a/fml/doc/ja/tutorial/usage/subscribe.sgml +++ b/fml/doc/ja/tutorial/usage/subscribe.sgml @@ -1,5 +1,5 @@ <!-- - $FML: subscribe.sgml,v 1.1 2002/07/28 12:20:20 fukachan Exp $ + $FML: subscribe.sgml,v 1.2 2004/10/06 09:07:44 fukachan Exp $ --> @@ -16,7 +16,7 @@ subscribe 名前 </screen> と書いたメールを elena-ctl@fml.org に送って下さい。 -confirmatin が返送されます。 +confirmation が返送されます。 その confirmation に返答すると登録されます。 </para> diff --git a/fml/doc/ja/tutorial/usage/unsubscribe.sgml b/fml/doc/ja/tutorial/usage/unsubscribe.sgml index afb54bb3..49861204 100644 --- a/fml/doc/ja/tutorial/usage/unsubscribe.sgml +++ b/fml/doc/ja/tutorial/usage/unsubscribe.sgml @@ -1,5 +1,5 @@ <!-- - $FML: unsubscribe.sgml,v 1.1 2002/07/28 12:20:20 fukachan Exp $ + $FML: unsubscribe.sgml,v 1.2 2004/10/06 09:07:44 fukachan Exp $ --> @@ -16,7 +16,7 @@ unsubscribe 名前 </screen> と書いたメールを elena-ctl@fml.org に送って下さい。 -confirmatin が返送されます。 +confirmation が返送されます。 その confirmation に返答すると削除されます。 </para> diff --git a/fml/doc/ja/tutorial/virtual/chapter.sgml b/fml/doc/ja/tutorial/virtual/chapter.sgml index e25ed801..0ced9025 100644 --- a/fml/doc/ja/tutorial/virtual/chapter.sgml +++ b/fml/doc/ja/tutorial/virtual/chapter.sgml @@ -1,5 +1,5 @@ <!-- - $FML: chapter.sgml,v 1.4 2004/04/07 11:07:14 fukachan Exp $ + $FML: chapter.sgml,v 1.5 2004/10/06 09:07:45 fukachan Exp $ --> @@ -9,16 +9,22 @@ </title> <caution> + <para> 2003/11: バーチャルドメインの取り扱い方を拡張しました。 </para> <para> -virtual_maps は obsolete となりました。が、互換性のため利用可能となっ -ています。今後は virtual_maps の代わりに ml_home_prefix_maps を使うこ -とになります。また、ml_home_prefix_maps を操作する newdomain と -rmdomain コマンドが創設されました。 +/usr/local/fml/etc/main.cf における virtual_maps は obsolete となりま +した。今後は virtual_maps の代わりに ml_home_prefix_maps を使うことに +なります。が、互換性のため virtual_maps も引続き有効です。 </para> + +<para> +また、ml_home_prefix_maps を操作する newdomain と rmdomain コマンドが +創設されました。 +</para> + </caution> @@ -28,9 +34,11 @@ rmdomain コマンドが創設されました。 </title> <para> +「 &fml8; 全体で統一的に扱えるようにしたい。 また、できるだけ &fml4; の素直な拡張であってほしい。 さらに、引越しなどが出来るだけ楽であると嬉しい。 +」これがモティーフです。 </para> <para> @@ -64,7 +72,7 @@ ml_home_prefix_maps <para> この後は &fml4; と同様に makefml (or fml) コマンドを使ってください。た だし、makefml (or fml)コマンドを使う際には、ML名を「ユーザ@ドメイン」 -形式で指定することだけが違います。 +形式で指定することだけが異なります。 </para> <para> @@ -96,8 +104,8 @@ http://lists/~fml/cgi-bin/fml/$domain/admin/config.cgi <warning> <para> なお、CGI の URL にドメイン名が入っているのは、操作する人にとって分か -りやすいようにという配慮であって、URL を元にドメイン名を決めているわけ -ではありません(それは危険です)。 +りやすいようにという配慮であって、CGI が URL を元に自分の操作対象ドメ +イン名を決めているわけではありません(それは危険です)。 </para> <para> |
