From b753b70a78a0ec9b5e82d37a8db6735ca59cfc4c Mon Sep 17 00:00:00 2001 From: fukachan Date: Tue, 2 Jul 2002 10:39:28 +0000 Subject: updated to sync w/ current clean up the structure to catch up "fml bible" structure --- fml/doc/ja/tutorial/book.sgml | 30 +- fml/doc/ja/tutorial/command/extension.sgml | 8 +- fml/doc/ja/tutorial/command/internal.sgml | 39 ++- fml/doc/ja/tutorial/command/module.sgml | 61 ++-- fml/doc/ja/tutorial/delivery/chapter.sgml | 14 +- fml/doc/ja/tutorial/devel/create_program.sgml | 39 ++- fml/doc/ja/tutorial/devel/docbook.sgml | 10 +- fml/doc/ja/tutorial/glossary.sgml | 68 ++-- fml/doc/ja/tutorial/include/chapters.ent | 13 +- fml/doc/ja/tutorial/include/terms.sgml | 4 +- fml/doc/ja/tutorial/install/chapter.sgml | 244 -------------- fml/doc/ja/tutorial/install/fml_on_nt.sgml | 16 + fml/doc/ja/tutorial/install/fml_on_unix.sgml | 254 +++++++++++++++ fml/doc/ja/tutorial/install/upgrade.sgml | 48 +++ fml/doc/ja/tutorial/internals/bootloader.sgml | 13 +- fml/doc/ja/tutorial/internals/cgi.sgml | 13 +- fml/doc/ja/tutorial/internals/config.cf.sgml | 14 +- fml/doc/ja/tutorial/internals/design.sgml | 18 +- fml/doc/ja/tutorial/internals/list.variables.sgml | 9 + fml/doc/ja/tutorial/internals/main.cf.sgml | 73 +++-- fml/doc/ja/tutorial/internals/style.sgml | 19 +- fml/doc/ja/tutorial/message/discussion.sgml | 10 +- fml/doc/ja/tutorial/module/IO::Adapter.sgml | 4 +- fml/doc/ja/tutorial/overview/chapter.sgml | 198 ------------ fml/doc/ja/tutorial/overview/download.sgml | 24 +- fml/doc/ja/tutorial/overview/fml.sgml | 371 ++++++++++++++++++++++ fml/doc/ja/tutorial/overview/ml.sgml | 68 ++++ fml/doc/ja/tutorial/policy.sgml | 21 +- fml/doc/ja/tutorial/preface.sgml | 169 ++-------- fml/doc/ja/tutorial/threadtrack/chapter.sgml | 8 +- fml/doc/ja/tutorial/usage/cgi.sgml | 23 +- fml/doc/ja/tutorial/usage/command.sgml | 4 +- fml/doc/ja/tutorial/usage/makefml.sgml | 13 +- fml/doc/ja/tutorial/usage/newml.sgml | 69 +++- fml/doc/ja/tutorial/usage/procmail.sgml | 4 +- 35 files changed, 1203 insertions(+), 790 deletions(-) delete mode 100644 fml/doc/ja/tutorial/install/chapter.sgml create mode 100644 fml/doc/ja/tutorial/install/fml_on_nt.sgml create mode 100644 fml/doc/ja/tutorial/install/fml_on_unix.sgml create mode 100644 fml/doc/ja/tutorial/install/upgrade.sgml delete mode 100644 fml/doc/ja/tutorial/overview/chapter.sgml create mode 100644 fml/doc/ja/tutorial/overview/fml.sgml create mode 100644 fml/doc/ja/tutorial/overview/ml.sgml (limited to 'fml/doc/ja') diff --git a/fml/doc/ja/tutorial/book.sgml b/fml/doc/ja/tutorial/book.sgml index 54863c85..17c565e2 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.33 2002/04/01 23:41:00 fukachan Exp $ +$FML: book.sgml,v 1.34 2002/04/02 23:16:30 fukachan Exp $ --> - &chapter.overview; - &chapter.download; - &chapter.install; + &chapter.overview.ml; + &chapter.overview.fml; - 各論およびカスタマイズ + fml のセットアップ〜MLの作成 トピックスごとに、まとめます。 + &chapter.download; + + + &chapter.install.fml.unix; &chapter.usage.newml; + + + &chapter.install.fml.nt; + + + &chapter.upgrade; + + + + + fml のカスタマイズ + + + トピックスごとに、まとめます。 + + + &chapter.usage.post; &chapter.usage.command; &chapter.usage.onhost; diff --git a/fml/doc/ja/tutorial/command/extension.sgml b/fml/doc/ja/tutorial/command/extension.sgml index 73aed185..97e07e2c 100644 --- a/fml/doc/ja/tutorial/command/extension.sgml +++ b/fml/doc/ja/tutorial/command/extension.sgml @@ -1,17 +1,19 @@ - コマンドの拡張の仕方 (予定) + + コマンドの拡張の仕方 (予定) + 独自コマンドを作る。 - fml 5.0 では、 + &fmldevel; では、 例えばユーザ向けのコマンド uja を作りたい場合、 FML::Command 以下から適当に cut & paste して diff --git a/fml/doc/ja/tutorial/command/internal.sgml b/fml/doc/ja/tutorial/command/internal.sgml index 40cd1ae3..222abc7b 100644 --- a/fml/doc/ja/tutorial/command/internal.sgml +++ b/fml/doc/ja/tutorial/command/internal.sgml @@ -1,11 +1,11 @@ 議論: - 『4.0 と 5.0 のコードの書き方はどのくらい違うか?』 + 『4.0 と &fmldevel; のコードの書き方はどのくらい違うか?』 @@ -15,28 +15,29 @@ 5.0 では help ファイルを送り返すコードの実体は - FML::Command::User::help にあり、 - FML::Process::Command クラスから - (FML::Command の AUTOLOAD を経由して)呼び出されます。 +FML::Command::User::help にあり、 +FML::Process::Command クラスから +(FML::Command の AUTOLOAD を経由して)呼び出されます。 - 注意: 全てのコマンドは FML::Command::User::コマンド もしくは - FML::Command::Admin::コマンド クラスとして実装されています。 - なお makefml は FML::Command::Admin::コマンド を使います。 +全てのコマンドは FML::Command::User::コマンド もしくは +FML::Command::Admin::コマンド クラスとして実装されています。 +なお makefml や CGI は FML::Command::Admin::コマンド を使います。 +コマンドメールは User や Admin を適宜使い分けます。 -help の実体は FML::Command::User::help のこの関数です。 +例えば help の実体は FML::Command::User::help の process() 関数です。 sub process { my ($self, $curproc, $optargs) = @_; - my $config = $curproc->{ config }; - my $charset = $config->{ reply_message_charset }; - my $help_file = $config->{ help_file }; + my $config = $curproc->{ config }; + my $charset = $config->{ reply_message_charset }; + my $help_file = $config->{ help_file }; # template substitution: kanji code, $varname expansion et. al. my $params = { @@ -82,11 +83,15 @@ $curproc->reply_message() -この仕組みは fml 4.0 の Notify() と同様ですが、あらゆるメッセージがキュー -に入れられ、最後に一気に処理されるという点で大きく異なります。get コマ -ンドなども同じように扱われます。つまり 4.0 の Notify() 相当部分が(通常 -の記事配送以外の)あらゆる送信機能を担当するということです。 -この点において、送信のキューイングのメカニズムは大きく異なっています。 +この仕組みは &fml4; の Notify() と同様ですが、あらゆるメッセージがキュー +に入れられ、最後に一気に処理されるという点で大きく異なります。 + + + +なお get コマンドなども同じキューイングの仕組みを使っています。つまり +4.0 の Notify() 相当部分が(通常の記事配送以外の)あらゆる送信機能を担当 +するということです。この点において、送信のキューイングのメカニズムは大 +きく異なっています。 diff --git a/fml/doc/ja/tutorial/command/module.sgml b/fml/doc/ja/tutorial/command/module.sgml index fd0fdd24..5e648bee 100644 --- a/fml/doc/ja/tutorial/command/module.sgml +++ b/fml/doc/ja/tutorial/command/module.sgml @@ -1,5 +1,5 @@ @@ -9,7 +9,7 @@ -5.0 では、 +&fmldevel; では、 コマンドメール、makefml そして CGI が使うモジュール は共有されています。 ただし、その権限の差異によって、 @@ -20,71 +20,80 @@ FML::Command:: クラスは以下のような構成になっています。 -FML::Command.pm FML::Command クラス以下への入口 -FML::Command::ACL ACL +FML::Command FML::Command クラス以下への入口 FML::Command::Utils よもやまの定義 FML::Command::User ユーザ用コマンド群 FML::Command::Admin 管理者用コマンド群 例えば、(メールでの)ユーザ用のコマンドの場合 -FML::Command.pm を経由して -FML::Command::User::コマンド.pm +FML::Command を経由して +FML::Command::User::コマンド モジュールを使うことになります。 - (メールでの)一般ユーザ用コマンド + + (メールでの)一般ユーザ用コマンド + + -FML::Process::Command.pm から -FML::Command.pm 経由で -FML::Command::User::コマンド.pm +FML::Process::Command から +FML::Command 経由で +FML::Command::User::コマンド を用います。 最終的に -FML::Command::Admin::コマンド.pm +FML::Command::Admin::コマンド を使うモジュールもあります。 例えば登録と削除の実作業は -FML::Command::Admin::コマンド.pm +FML::Command::Admin::コマンド が行なっています。この場合 -FML::Command::User::コマンド.pm +FML::Command::User::コマンド のコマンドは confirm を行なうための wrapper です。 - (メールでの) adminコマンド + + (メールでの) adminコマンド + -FML::Process::Command.pm から -FML::Command.pm 経由で -FML::Command::Admin::コマンド.pm +FML::Process::Command から +FML::Command 経由で +FML::Command::Admin::コマンド を用います。 - makefml のコマンド + + makefml のコマンド + -FML::Process::Configure.pm から -FML::Command.pm 経由で -FML::Command::Admin::コマンド.pm +FML::Process::Configure から +FML::Command 経由で +FML::Command::Admin::コマンド を用います。 - CGI (予定) + + CGI + + -FML::Process::CGI.pm から -FML::Command.pm 経由で -FML::Command::Admin::コマンド.pm -を用います(予定)。 +FML::Process::CGI から +FML::Command 経由で +FML::Command::Admin::コマンド +を用います。 diff --git a/fml/doc/ja/tutorial/delivery/chapter.sgml b/fml/doc/ja/tutorial/delivery/chapter.sgml index b43cf1b8..a7f7f041 100644 --- a/fml/doc/ja/tutorial/delivery/chapter.sgml +++ b/fml/doc/ja/tutorial/delivery/chapter.sgml @@ -1,16 +1,16 @@ - - &fmldevel; のメール配送システム + + &fmldevel; のメール配送システム + - - - &fml4; と &fmldevel; の相違点 - + + &fml4; と &fmldevel; の相違点 + &fmldevel; の最大の目的の一つは、メンバーリストの取得と操作の統合と抽 diff --git a/fml/doc/ja/tutorial/devel/create_program.sgml b/fml/doc/ja/tutorial/devel/create_program.sgml index 2b41dbb7..2dc90832 100644 --- a/fml/doc/ja/tutorial/devel/create_program.sgml +++ b/fml/doc/ja/tutorial/devel/create_program.sgml @@ -1,5 +1,5 @@ @@ -21,12 +21,12 @@ -用意しなければいけない関数は +用意しなければいけない関数(メソッド)は FML::Process::Flow::ProcessStart() を見ると分かります。 FML::Process::Flow::ProcessStart() がプロセスを駆動しているからです。 -2001/11 現在、プロセスは以下のメソッドからなっています。 +2002/07 現在、これらのメソッドが必須です。 new() prepare() @@ -34,6 +34,7 @@ verify_request() run() finish() +ダミーでもよいので、このメソッドを用意しておいて下さい。 @@ -72,9 +73,6 @@ FML::Process::Switch total 11 -rw-r--r-- 1 fml wheel 4044 Nov 20 00:19 Standalone.pm lrwxr-xr-x 1 root wheel 6 Nov 23 22:10 command -> loader -drwxr-xr-x 4 root wheel 512 Mar 29 2001 current-20010329 -drwxr-xr-x 4 root wheel 512 Apr 7 2001 current-20010407 -drwxr-xr-x 4 root wheel 512 Apr 18 2001 current-20010418 drwxr-xr-x 3 root wheel 512 Nov 23 22:10 current-20011123 lrwxr-xr-x 1 root wheel 6 Nov 23 22:10 distribute -> loader lrwxr-xr-x 1 root wheel 6 Nov 23 22:10 fml.pl -> loader @@ -134,20 +132,33 @@ FML::CGI:: 用意するメソッドは html_start() -run_cgi() html_end() +および + +run_cgi_main() +run_cgi_title() +run_cgi_navigator() +run_cgi_menu() +run_cgi_command_help() +run_cgi_options() + になるという点です。 -これは -FML::Process::CGI 以下で駆動される時に、 -run() メソッドが、 +これらの組で一つの画面が構成されています。 + + + +CGI プロセスは FML::Process::CGI で駆動され、run() メソッドは $curproc->html_start($args); -$curproc->run_cgi($args); +画面を作るために run_cgi_xxx() メソッド郡を呼び出す。 $curproc->html_end($args); -を呼び出しているからです。 -FML::Process::CGI::Kernel 自身は、 +のように FML::CGI:: 以下のメソッド群を呼び出しているからです。 + + + +ちなみに FML::Process::CGI::Kernel 自身は、 2001/11 現在、プロセスは以下のメソッド @@ -164,6 +175,8 @@ verify_request() run() finish() +特に、これらを編集する必要はないでしょう。 +ちなみに FML::CGI:: は run() から呼ばれています。 diff --git a/fml/doc/ja/tutorial/devel/docbook.sgml b/fml/doc/ja/tutorial/devel/docbook.sgml index 4b488f00..2c94e345 100644 --- a/fml/doc/ja/tutorial/devel/docbook.sgml +++ b/fml/doc/ja/tutorial/devel/docbook.sgml @@ -1,5 +1,5 @@ @@ -9,7 +9,7 @@ -fml-devel (fml 5.0) のドキュメントでは、SGML の DTD は +fml-devel (&fmldevel;) のドキュメントでは、SGML の DTD は DOCBOOK @@ -397,7 +397,7 @@ DTD -fml 5.0 では、以下のプログラムを使って HTML やテキストファイルを作成し +&fmldevel; では、以下のプログラムを使って HTML やテキストファイルを作成し ています。 @@ -427,7 +427,7 @@ fml 5.0 もちろん sgmltools がなくても SGML から HTML を作ることができます。 どのツールを使うかは、あなたがどれを便利に思うか?次第です。 -単に &fml5; では、sgmltools を歴史的に使っているだけです。 +単に &fmldevel; では、sgmltools を歴史的に使っているだけです。 @@ -508,7 +508,7 @@ LISP -ちなみに fml 5.0 の DSL の記述は +ちなみに &fmldevel; の DSL の記述は fml/doc/share/sgml/fml.dsl diff --git a/fml/doc/ja/tutorial/glossary.sgml b/fml/doc/ja/tutorial/glossary.sgml index 546b1a06..79653b17 100644 --- a/fml/doc/ja/tutorial/glossary.sgml +++ b/fml/doc/ja/tutorial/glossary.sgml @@ -1,5 +1,5 @@ @@ -12,7 +12,7 @@ fml 4 - fml 4.0 シリーズのこと + &fml4; シリーズのこと @@ -20,16 +20,16 @@ - fml 5 / fml-devel + fml-devel - 遠い将来に - fml 5.0 になるであろうとおもわれる fml-current + 将来 &fmldevel; になるであろうとおもわれる fml-current もしかしたら fml 8.x の方が適切かも知れない。 だが、まだ決まっていない。 + でも 8 じゃないかな〜という感じ濃厚 @@ -41,7 +41,7 @@ curproc - "current process"の略。 + "current process"の略。 @@ -56,10 +56,10 @@ PCB - Process Control Block の略。 - そのプロセス固有の情報を含む。 - 現状 fml 内部でのコンテキスト切替などはないので、 - UNIX カーネルの PCB とは少し趣が異なります。 + Process Control Block の略。 + そのプロセス固有の情報を含む。 + 現状 fml 内部でのコンテキスト切替などはないので、 + UNIX カーネルの PCB とは少し趣が異なります。 @@ -74,7 +74,7 @@ config - configuration の略 + configuration の略 @@ -84,7 +84,7 @@ conf - configuration の略 + configuration の略 @@ -94,7 +94,7 @@ arg / args - アーギュメントの略 + アーギュメント( argument )の略 @@ -106,7 +106,7 @@ fh - ファイルハンドル( file handle ) + ファイルハンドル( file handle ) @@ -118,7 +118,7 @@ dh - ディレクトリハンドル( directory handle ) + ディレクトリハンドル( directory handle ) @@ -130,8 +130,8 @@ fp - 関数へのポインタ( function pointer )。 - ただし perl では CODE リファレンスと呼ぶべき + 関数へのポインタ( function pointer )。 + ただし perl では CODE リファレンスと呼ぶべき @@ -141,14 +141,16 @@ _なになに - 慣習的にパッケージ、クラス、オブジェクト内部で使う - 変数や関数名に _ ではじまるキーワードを使う。 + 慣習的にパッケージ、クラス、オブジェクト内部で使う + 変数や関数名に _ ではじまるキーワードを使う。 つまり private ということ( - OO の厳密な意味で private method という意味か?などとは - つっこまないようにしたい:-) + ここで + OO の厳密な意味で private method という意味か?などとは + つっこまないようにされたい + :-) @@ -158,10 +160,14 @@ rなになに - r はリファレンスの略。 - これをハンガリアン記法と呼ぶ。 - 特別に強調したい場合に使うことがあるが、 - fml 内部では、あまり使っていない。 + r はリファレンスの略。 + これはハンガリアン記法と呼ばれている。 + + + + 型を特別に強調したい場合に使うことがあるが、 + fml 内部では、ほとんど使っていない。 + 適宜コメントを参照してください。 @@ -171,7 +177,7 @@ STR - 文字列 ( string ) の略 + 文字列 ( string ) の略 @@ -182,7 +188,7 @@ 日本語コードの略称 - JIS SJIS EUC などおなじみのもの… + JIS SJIS EUC などおなじみのもの… @@ -192,8 +198,8 @@ 2 - to と発音が一緒のため省略形としてよく使う。 - 類似品として 4 ( for の意味)もある + to と発音が一緒のため省略形としてよく使う。 + 類似品として 4 ( for の意味)もある 例: STR2EUC (STRing to EUC の略) @@ -210,8 +216,8 @@ $euc_string = STR2EUC($string); 4 - for と発音が同じために用いる。 - 例はまだなし。 + for と発音が同じために用いる。 + 例はまだなし。 diff --git a/fml/doc/ja/tutorial/include/chapters.ent b/fml/doc/ja/tutorial/include/chapters.ent index 0dc51805..349b4e05 100644 --- a/fml/doc/ja/tutorial/include/chapters.ent +++ b/fml/doc/ja/tutorial/include/chapters.ent @@ -1,5 +1,5 @@ @@ -14,6 +14,7 @@ + @@ -23,9 +24,15 @@ - + + - + + + + + + diff --git a/fml/doc/ja/tutorial/include/terms.sgml b/fml/doc/ja/tutorial/include/terms.sgml index c488e900..d97926be 100644 --- a/fml/doc/ja/tutorial/include/terms.sgml +++ b/fml/doc/ja/tutorial/include/terms.sgml @@ -1,5 +1,5 @@ @@ -25,7 +25,7 @@ fml4 - fml 4.0 シリーズのこと + &fml4; シリーズのこと diff --git a/fml/doc/ja/tutorial/install/chapter.sgml b/fml/doc/ja/tutorial/install/chapter.sgml deleted file mode 100644 index 6f568eb1..00000000 --- a/fml/doc/ja/tutorial/install/chapter.sgml +++ /dev/null @@ -1,244 +0,0 @@ - - - - - インストール - - - - - - - 概要 - - - - -configure (GNU autoconf) および make を実行して下さい。 - -% su root -# ./configure -# make install - -configure が適宜、変数を書き換えてくれます。 -make install はシェルスクリプト INSTALL.sh を実行するだけです :-) - - - -変更が必要なら configure の引数で変更して下さい。 -変更できる変数は以下のものです。 -fml では各ディレクトリにさらに /fml といった suffix をつけます。 -変更できるのはその直前の prefix 部分までです。 - -変数 configure のデフォルト値 fml の利用するディレクトリ --------------------------------------------------------- -prefix /usr/local /usr/local -exec_prefix /usr/local -bindir ${exec_prefix}/bin /usr/local/bin -sbindir ${exec_prefix}/sbin /usr/local/sbin -libexecdir ${exec_prefix}/libexec /usr/local/libexec/fml -datadir ${prefix}/share /usr/local/share/fml -sysconfdir ${prefix}/etc /usr/local/etc/fml -sharedstatedir ${prefix}/com -localstatedir ${prefix}/var -libdir ${exec_prefix}/lib /usr/local/lib/fml -includedir ${prefix}/include -oldincludedir /usr/include -infodir ${prefix}/info -mandir ${prefix}/man - -また - -mlspooldir /var/spool/ml /var/spool/ml -fml_owner fml fml - -これらの変数は、それぞれ - ---with-mlspooldir=DIR ---with-fml-owner=USER - -で上書きすることができます。 - - - - -サンプル - -# ./configure --sysconfdir=/etc/fml -creating cache ./config.cache -checking for perl... perl -checking for perl... /usr/local/bin/perl -checking whether optional useful commands are available -checking for cksum... /usr/bin/cksum -checking for md5... /usr/bin/md5 -checking for tar... /usr/bin/tar -checking for gzip... /usr/bin/gzip -checking for zcat... /usr/bin/zcat -checking for gunzip... /usr/bin/gunzip -checking for lha... no -checking for ish... no -checking for bzip2... /usr/bin/bzip2 -checking for bunzip2... /usr/bin/bunzip2 -checking for uuencode... /usr/bin/uuencode -checking for compress... /usr/bin/compress -checking for sendmail... /usr/sbin/sendmail -checking for nkf... /usr/pkg/bin/nkf -checking for kakasi... no -checking for namazu... no -checking for pgp... no -checking for pgp5... no -checking for pgpe... no -checking for pgpk... no -checking for pgps... no -checking for pgpv... no -checking for gpg... no -updating cache ./config.cache -creating ./config.status -creating config.sh -creating fml/etc/main.cf -creating fml/etc/paths.cf -creating fml/libexec/loader -creating fml/bin/fmlconf -creating fml/bin/fmldoc -creating fml/bin/fmlhtmlify -creating fml/bin/fmlsch -creating fml/bin/fmlthread -creating fml/bin/makefml - - - - - - - - - - 各ディレクトリの役割 - - - -それぞれのディレクトリの役割は次の通りです。 -なお、デフォルトでは /usr/local 以下にインストールされます。 - - - - - - ディレクトリの構造 - - - - - - - ディレクトリ - 説明 - - - - - - /etc/fml - - 基本設定ファイルを置く場所。 - ( fml 4 の /usr/local/fml/.fml や default_config.ph 相当) - - バージョンやライブラリの場所(ディレクトリ)などを指定する。 - - - - - /usr/local/libexec/fml - - 実行ファイル ( fml 4 の /usr/local/fml ) - - - - - - /usr/local/lib/fml - - - ライブラリ ( fml 4 の /usr/local/fml ) - - - - - - /usr/local/share/fml - - - メッセージなどのテンプレート、 - 言語依存です。 - - - - - - /var/spool/ml - - - MLのホームディレクトリ。fml 4 と同じ目的です。 - - 注意: /var/spool/ml のオーナは INSTALL.sh の - owner 変数(デフォルトはユーザ fml)に設定されます。 - - - - - -
-
-
- - - -§.main.cf; - - - - - - アップグレード - - - -単に、もう一度 -インストール -して下さい。 - - - -インストール後、/etc/fml/main.cf の fml_version 行の日付を -最新のものにして下さい。 -ファイルをセーブした瞬間から新しい fml に切り替わります -(注: エディタで編集中は古い内容)。 - - - - - - - ダウングレード - - - -ソースのインストールし直しなどは必要ありません。 -/etc/fml/main.cf の編集だけです。 - - - -/etc/fml/main.cf の fml_verison をアップグレード前のものに -戻して下さい。 - - - - - -
diff --git a/fml/doc/ja/tutorial/install/fml_on_nt.sgml b/fml/doc/ja/tutorial/install/fml_on_nt.sgml new file mode 100644 index 00000000..525836ac --- /dev/null +++ b/fml/doc/ja/tutorial/install/fml_on_nt.sgml @@ -0,0 +1,16 @@ + + + + + Microsft 2000/NT 上での fml のインストール + + + + +まだ、できません。 + + + + diff --git a/fml/doc/ja/tutorial/install/fml_on_unix.sgml b/fml/doc/ja/tutorial/install/fml_on_unix.sgml new file mode 100644 index 00000000..7654a304 --- /dev/null +++ b/fml/doc/ja/tutorial/install/fml_on_unix.sgml @@ -0,0 +1,254 @@ + + + + + UNIX 上での fml のインストール + + + + + + + 概要 + + + + +configure (GNU autoconf) および make を実行して下さい。 +なお configure の前に、適宜、ユーザ fml とグループ fml を作ってください。 + +% su root +# groupadd fml +# useradd -g fml -m fml +# ./configure +# make install + +configure が適宜、変数を書き換えてくれます。 +make install はシェルスクリプト INSTALL.sh を実行するだけです :-) + + + +変更が必要なら configure の引数で変更して下さい。 +変更できる変数は以下のものです。 +fml では各ディレクトリにさらに /fml といった suffix をつけます。 +変更できるのはその直前の prefix 部分までです。 + +変数 configure のデフォルト値 fml の利用するディレクトリ +-------------------------------------------------------- +prefix /usr/local /usr/local +exec_prefix /usr/local +bindir ${exec_prefix}/bin /usr/local/bin +sbindir ${exec_prefix}/sbin /usr/local/sbin +libexecdir ${exec_prefix}/libexec /usr/local/libexec/fml +datadir ${prefix}/share /usr/local/share/fml +sysconfdir ${prefix}/etc /usr/local/etc/fml +sharedstatedir ${prefix}/com +localstatedir ${prefix}/var +libdir ${exec_prefix}/lib /usr/local/lib/fml +includedir ${prefix}/include +oldincludedir /usr/include +infodir ${prefix}/info +mandir ${prefix}/man + +また + +fmlconfdir $sysconfidr/fml /usr/local/etc/fml +mlspooldir /var/spool/ml /var/spool/ml +fml_owner fml fml +fml_group fml fml +default_domain 推測する 推測する + +これらの変数は、configure の引数で上書きすることができます。 +これらのオプションは + +configure --help + +で表示されます。 + + --without-warning run perl as perl without -w + --with-fmlconfdir=DIR use DIR instead of SYSCONFDIR/fml + --with-mlspooldir=DIR use DIR instead of /var/spool/ml + --with-fml-owner=USER use USER instead of fml + --with-fml-group=GROUP use GROUP instead of fml + --with-default-domain=DOMAIN use DOMAIN as the ML domain + + + + + + +サンプル + +# ./configure --with-fmlconfdir=/etc/fml +loading cache ./config.cache +checking for perl... (cached) perl +checking for perl... (cached) /usr/local/bin/perl +checking whether optional useful commands are available or not +checking for cksum... (cached) /usr/bin/cksum +checking for md5... (cached) /usr/bin/md5 +checking for ls... (cached) /bin/ls +checking for tar... (cached) /usr/bin/tar +checking for gzip... (cached) /usr/bin/gzip +checking for zcat... (cached) /usr/bin/zcat +checking for gunzip... (cached) /usr/bin/gunzip +checking for lha... (cached) /usr/pkg/bin/lha +checking for ish... no +checking for bzip2... (cached) /usr/bin/bzip2 +checking for bunzip2... (cached) /usr/bin/bunzip2 +checking for uuencode... (cached) /usr/bin/uuencode +checking for compress... (cached) /usr/bin/compress +checking for sendmail... (cached) /usr/sbin/sendmail +checking for newaliases... (cached) /usr/bin/newaliases +checking for postfix... (cached) /usr/sbin/postfix +checking for postalias... (cached) /usr/sbin/postalias +checking for postconf... (cached) /usr/sbin/postconf +checking for postmap... (cached) /usr/sbin/postmap +checking for nkf... (cached) /usr/pkg/bin/nkf +checking for kakasi... no +checking for namazu... no +checking for pgp... (cached) /usr/pkg/bin/pgp +checking for pgp5... no +checking for pgpe... no +checking for pgpk... no +checking for pgps... no +checking for pgpv... no +checking for gpg... no +checking for less... (cached) /usr/bin/less +checking for more... (cached) /usr/bin/more +checking for w3m... (cached) /usr/pkg/bin/w3m +updating cache ./config.cache +creating ./config.status +creating config.sh +creating fml/etc/main.cf +creating fml/etc/default_config.cf.ja +creating fml/etc/site_default_config.cf +creating fml/libexec/loader +creating fml/bin/fmlalias +creating fml/bin/fmlconf +creating fml/bin/fmldoc +creating fml/bin/fmlhtmlify +creating fml/bin/fmlsch +creating fml/bin/fmlthread +creating fml/bin/fmlspool +creating fml/bin/makefml +enabled perl -w + +fml has been configure with the following options: + + prefix: /usr/local + exec_prefix: ${prefix} + bindir: ${exec_prefix}/bin + sbindir: ${exec_prefix}/sbin + lib_dir: ${exec_prefix}/lib + libexec_dir: ${exec_prefix}/libexec + mandir: ${prefix}/man + datadir: ${prefix}/share + + fml process owner: fml + fml process group: fml + fmlconfdir: /etc/fml + mlspooldir: /var/spool/ml + default domain: home.fml.org + +Now you must run "make install". + + + + + + + + + + 各ディレクトリの役割 + + + +それぞれのディレクトリの役割は次の通りです。 +なお、デフォルトでは /usr/local 以下にインストールされます。 + + + + + + ディレクトリの構造 + + + + + + + ディレクトリ + 説明 + + + + + + /usr/local/etc/fml + + 基本設定ファイルを置く場所。 + ( fml 4 の /usr/local/fml/.fml や default_config.ph 相当) + + バージョンやライブラリの場所(ディレクトリ)などを指定する。 + + + + + /usr/local/libexec/fml + + 実行ファイル ( fml 4 の /usr/local/fml ) + + + + + + /usr/local/lib/fml + + + ライブラリ ( fml 4 の /usr/local/fml ) + + + + + + /usr/local/share/fml + + + メッセージなどのテンプレート、 + 言語依存です。 + + + + + + /var/spool/ml + + + MLのホームディレクトリ。fml 4 と同じ目的です。 + + 注意: /var/spool/ml のオーナは INSTALL.sh の + owner 変数(デフォルトはユーザ fml)に設定されます。 + + + + + +
+
+
+ + + +§.main.cf; + + + + +
diff --git a/fml/doc/ja/tutorial/install/upgrade.sgml b/fml/doc/ja/tutorial/install/upgrade.sgml new file mode 100644 index 00000000..e8ba1911 --- /dev/null +++ b/fml/doc/ja/tutorial/install/upgrade.sgml @@ -0,0 +1,48 @@ + + + + + アップグレード/ダウングレード + + + + + アップグレード + + + +単に、もう一度 +インストール +して下さい。 + + + +インストール後、/etc/fml/main.cf の fml_version 行の日付を +最新のものにして下さい。 +ファイルをセーブした瞬間から新しい fml に切り替わります +(注: エディタで編集中は古い内容)。 + + + + + + + ダウングレード + + + +ソースのインストールし直しなどは必要ありません。 +/etc/fml/main.cf の編集だけです。 + + + +/etc/fml/main.cf の fml_verison をアップグレード前のものに +戻して下さい。 + + + + + + diff --git a/fml/doc/ja/tutorial/internals/bootloader.sgml b/fml/doc/ja/tutorial/internals/bootloader.sgml index 12f84adf..32434bfa 100644 --- a/fml/doc/ja/tutorial/internals/bootloader.sgml +++ b/fml/doc/ja/tutorial/internals/bootloader.sgml @@ -1,5 +1,5 @@ @@ -9,7 +9,7 @@ -fml 5.0 にはインストールされている fml のバージョン依存性を考慮するた +&fmldevel; にはインストールされている fml のバージョン依存性を考慮するた めに、実行時には本章で述べるようなブートストラップの過程があります。 @@ -32,7 +32,7 @@ loader -libexec/loader は /etc/fml/main.cf を読みこみます。 +libexec/loader は /usr/local/etc/fml/main.cf を読みこみます。 fml_version 変数から使うべきライブラリのバージョンを決めます。 例えば fml_vesrion が current-20010501 となっていたら /usr/local/lib/fml/current-20010501/ 以下にあるライブラリを使うといった @@ -73,11 +73,6 @@ FML::Process::Mead >-| | |-use-a ... その他 ... -=> - -FML::Process::それぞれのプログラムのモジュールについて - -
@@ -102,7 +97,7 @@ FML::Process:: - /etc/fml/main.cf を読み込む。 + /usr/local/etc/fml/main.cf を読み込む。 読み込むと fml のバージョンが分かる。 default_config.cf はバージョン依存であるので、 ここでまずバージョンを評価しなければいけないことに注意。 diff --git a/fml/doc/ja/tutorial/internals/cgi.sgml b/fml/doc/ja/tutorial/internals/cgi.sgml index fe084a32..681964d6 100644 --- a/fml/doc/ja/tutorial/internals/cgi.sgml +++ b/fml/doc/ja/tutorial/internals/cgi.sgml @@ -1,5 +1,5 @@ @@ -17,7 +17,12 @@ FML::CGI のクラスは以下の3つのメソッドを実装して下さい。 html_start() -run_cgi() +run_cgi_main() +run_cgi_title() +run_cgi_navigator() +run_cgi_menu() +run_cgi_command_help() +run_cgi_options() html_end() ここで @@ -32,7 +37,7 @@ run_cgi() $curproc の run() メソッドは html_start() -run_cgi() +run_cgi_XXX() 群を実行(テーブル状に出力を配置する) html_end() を順番に実行しています。 @@ -43,7 +48,7 @@ prepare() verify_request() run() html_start() - run_cgi() + run_cgi_○○() html_end() finish() diff --git a/fml/doc/ja/tutorial/internals/config.cf.sgml b/fml/doc/ja/tutorial/internals/config.cf.sgml index 80459a83..f855a0df 100644 --- a/fml/doc/ja/tutorial/internals/config.cf.sgml +++ b/fml/doc/ja/tutorial/internals/config.cf.sgml @@ -1,5 +1,5 @@ @@ -12,7 +12,7 @@ 各MLごとにさまざまなカスタマイズをすることができます。 -この点は &fml4; でも &fml5; でも同様です。 +この点は &fml4; でも &fmldevel; でも同様です。 @@ -24,11 +24,9 @@ この perl script 方式にはいくつか問題があります。 例えば perl script なので、perl が許す限りの自由な書き方ができます。 -これは config.ph の最大の問題です。 +これは人間にとっては嬉しいのですが、 +機械処理の観点からは問題です。というのは makefml や CGI をはじめとする設定インターフェイスを書きにくいのです。 - - - そこで &fml4; では、 cf というファイルと config.ph という 2 つのフォーマットの異なるファイルが使われています。 @@ -37,8 +35,8 @@ cf しかし、これはこれで2つのファイルに分かれてしまう点が 保守しにくさを生みます。 -よって &fml5; では、設定インターフェイスにやさしい -新フォーマットを提唱します。 +よって &fmldevel; では、 +設定インターフェイスにやさしい新フォーマットを提唱します。 それが config.cf です。 これは本質的に postfix 風のフォーマットです。 diff --git a/fml/doc/ja/tutorial/internals/design.sgml b/fml/doc/ja/tutorial/internals/design.sgml index 694365b2..9c51afb2 100644 --- a/fml/doc/ja/tutorial/internals/design.sgml +++ b/fml/doc/ja/tutorial/internals/design.sgml @@ -1,5 +1,5 @@ @@ -21,8 +21,8 @@ fml-devel -とも呼ばれている fml 5.0 プロジェクトは、 -fml 4.0 の再構想(refactoring)とその実装(例)の構築 +とも呼ばれている &fmldevel; プロジェクトは、 +&fml4; の再構想(refactoring)とその実装(例)の構築 を行なっています。 @@ -35,8 +35,8 @@ http://www.fml.org/devel/ -現状の fml-devel は fml 5.0 のアイデアを募るための、 -fml 5.0 のアルファ版のアルファ版のアルファ版 +現状の fml-devel は &fmldevel; のアイデアを募るための、 +&fmldevel; のアルファ版のアルファ版のアルファ版 もしくは プロトタイプ とでもいうべきものです。ですが、すでに動く実装例をダウンロードできます @@ -51,7 +51,7 @@ fml 5.0 -ものによっては fml 5.0 用に作られたモジュールを fml 4.0 へ +ものによっては &fmldevel; 用に作られたモジュールを &fml4; へ 輸入/輸出することも検討しています。 たとえば 4.0 でも独立性の高い mead (エラーメール解析プログラム)などは その良い例だろうし、新機能を提供するモジュールなども再輸入(輸出)可能な @@ -59,12 +59,12 @@ fml 5.0 -これらのマージおよび 4.0 自体のコードの保守をしつつ 4.0 および 5.0 は +これらのマージおよび 4.0 自体のコードの保守をしつつ 4.0 および &fmldevel; は 並行開発されていく予定です。 そのため 4.0 系は stable に近い current という位置付けになります。 そして 4.0 の bug fix は 4.0.x (4.0.1 4.0.2 …)としてまとめられリリー スれていく予定です。 -逆に 5.0 は本当の開発用のコード( fml-current )ということになります。 +逆に &fmldevel; は本当の開発用のコード( fml-current )ということになります。 @@ -86,7 +86,7 @@ fml 5.0 - 全部 perl module 形式 (要 5.004 以降) + 全部 perl module 形式 (要 &fmldevel;04 以降) diff --git a/fml/doc/ja/tutorial/internals/list.variables.sgml b/fml/doc/ja/tutorial/internals/list.variables.sgml index 853f7925..298459c9 100644 --- a/fml/doc/ja/tutorial/internals/list.variables.sgml +++ b/fml/doc/ja/tutorial/internals/list.variables.sgml @@ -712,6 +712,15 @@ admin +qmail_virtual_map_file + + MTA に教えるための virtual map ファイル(テンプレート) + +$domain_qmail_config_dir/virtualdomains + + + + qmail_virtualdomains_file virtual domain configurations for qmail diff --git a/fml/doc/ja/tutorial/internals/main.cf.sgml b/fml/doc/ja/tutorial/internals/main.cf.sgml index 4025ea5a..557368c2 100644 --- a/fml/doc/ja/tutorial/internals/main.cf.sgml +++ b/fml/doc/ja/tutorial/internals/main.cf.sgml @@ -1,73 +1,88 @@ - /etc/fml/main.cf + + /etc/fml/main.cf + /etc/fml/main.cf は各MLの設定ではありません。 -これは、バージョン依存性を解決するための設定ファイルです。 -fml のプログラム群が起動する時に参照します。 +これは、fml のバージョンなどメタレベルの依存性を解決するための設定ファ +イルで、fml のプログラム群が起動する時に参照します。 -main.cf はこのようなファイルです。 - -フォーマットは +main.cf のフォーマットは他の .cf と同様 + + +実際のところファイル拡張子とファイルフォーマットには相関があります。 + + +に 変数名 = 値 です。 +# +# $FML: main.cf.in,v 1.12 2002/04/01 23:41:09 fukachan Exp $ +# + # fml version # This is important # Example: fml 5.0 # fml-current YYYYMMDD # fml-devel YYYYMMDD -fml_version = current-20010423 +fml_version = current-20020701 + +fml_owner = fml + +fml_group = fml ### ### DIRECTORIES ### +# Example: /usr/local +prefix = /usr/local +exec_prefix = ${prefix} # $config_dir holds the global main configuration and # several version-dependent default configurations # Example: /etc/fml -config_dir = /etc/fml +config_dir = /etc/fml # Example: /etc/fml/defaults/$fml_version -default_config_dir = $config_dir/defaults/$fml_version - -# Example: /usr/local -default_prefix = /usr/local - +default_config_dir = $config_dir/defaults/$fml_version +# defined for convenience, for example, we need this variable +# at include, include-ctl, which needs expansion of ../libexec/fml/fml.pl # Example: /usr/local/libexec/fml -libexec_prefix = $default_prefix - -# Example: /usr/local/lib/fml -lib_prefix = $default_prefix +executable_prefix = ${exec_prefix}/libexec/fml # Example: /usr/local/libexec/fml/$fml_version -libexec_dir = $libexec_prefix/libexec/fml/$fml_version +libexec_dir = ${exec_prefix}/libexec/fml/$fml_version # Example: /usr/local/lib/fml/$fml_version -lib_dir = $lib_prefix/lib/fml/$fml_version +lib_dir = ${exec_prefix}/lib/fml/$fml_version + +# Example: /usr/local/share/fml/$fml_version +share_dir = ${prefix}/share/fml/$fml_version # site local library location # which is prepared but not used by fml itself -local_lib_dir = $default_prefix/lib/fml/site_local +local_lib_dir = ${exec_prefix}/lib/fml/site_local # ml's home directories # $ml_home_dir (e.g. /var/spool/ml/elena ) is taken from loader's @ARGV. # This is compatible with fml 4.0. # Example: /var/spool/ml -ml_home_prefix = /var/spool/ml +default_ml_home_prefix = /var/spool/ml @@ -77,18 +92,26 @@ ml_home_prefix = /var/spool/ml # default domain -default_domain = fml.org +default_domain = fml.org # version dependent default_config.cf location # whic holds # Example: /etc/fml/defaults/5.0/default_config.cf -default_config = $config_dir/defaults/$fml_version/default_config.cf +default_config_cf = $default_config_dir/default_config.cf # domain specific configurations # Example: /etc/fml/domains/fml.org/default_config.cf -domain_default_config = $config_dir/domains/$default_domain/config.cf +domain_default_config = $config_dir/domains/$default_domain/config.cf + + +# virtual format: domain directory +# for example, +# fml.org /var/spool/ml/fml.org +# nuinui.net /var/spool/ml/nuinui.net +virtual_maps = $config_dir/virtual + diff --git a/fml/doc/ja/tutorial/internals/style.sgml b/fml/doc/ja/tutorial/internals/style.sgml index 29aaa547..8459dcbf 100644 --- a/fml/doc/ja/tutorial/internals/style.sgml +++ b/fml/doc/ja/tutorial/internals/style.sgml @@ -1,10 +1,11 @@ - -プログラミング・スタイル + + プログラミング・スタイル + ここでは、プログラミング上のいくつかの諸問題についてまとめます。 @@ -86,10 +87,16 @@ use_ + + プログラミング・スタイル (原案のメモ(注: 単なる走り書き)) + + + + +ログとして、原案のメモ(注: 単なる走り書き)をここに記録しておきます。 + + - -プログラミング・スタイル (原案のメモ(注: 単なる走り書き)) - diff --git a/fml/doc/ja/tutorial/message/discussion.sgml b/fml/doc/ja/tutorial/message/discussion.sgml index 67ac83c4..dd7112a0 100644 --- a/fml/doc/ja/tutorial/message/discussion.sgml +++ b/fml/doc/ja/tutorial/message/discussion.sgml @@ -1,5 +1,5 @@ @@ -14,10 +14,10 @@ - fml 4.0 の場合 + &fml4; の場合 -fml 4.0 では +&fml4; では Mesg(*e, キーワード, デフォルトのメッセージ, 変換に使う引数); @@ -45,7 +45,7 @@ fml 4.0 - fml 5.0 はどうするべきか? + &fmldevel; はどうするべきか? 一つのファイルに一つのキーワードを持つのと、 @@ -85,7 +85,7 @@ locale - fml 5.0: とりあえずの方針 + &fmldevel;: とりあえずの方針 diff --git a/fml/doc/ja/tutorial/module/IO::Adapter.sgml b/fml/doc/ja/tutorial/module/IO::Adapter.sgml index 9e866b72..f2233c93 100644 --- a/fml/doc/ja/tutorial/module/IO::Adapter.sgml +++ b/fml/doc/ja/tutorial/module/IO::Adapter.sgml @@ -1,5 +1,5 @@ @@ -13,7 +13,7 @@ -fml 5.0 でのメンバーリストの読み書きは +&fmldevel; でのメンバーリストの読み書きは IO::Adapter という抽象クラスを通じて、 アドレスの登録/削除を行なうようになっています。 diff --git a/fml/doc/ja/tutorial/overview/chapter.sgml b/fml/doc/ja/tutorial/overview/chapter.sgml deleted file mode 100644 index 8f3fb5aa..00000000 --- a/fml/doc/ja/tutorial/overview/chapter.sgml +++ /dev/null @@ -1,198 +0,0 @@ - - - - - &fmldevel; の概要 - - - - - -&fmldevel; は &fml4; 相当のものを完全に一から書き直すプロジェクトです。 -使い方の見かけは &fml4; に"似せて"います。 -主な注意点は -root での作業、 configure の使用、 -そして /etc/fml/ 以下のファイル、 -特に /etc/fml/main.cf というグローバルな設定ファイルです。 - - - - - - - インストール作業の概略 - - - -以下で、特に触れていない概念(例: MLとは?)については &fml4; と同様です。 -くわしくは &fml4; の資料( - - http://www.fml.org/fml/ - - や - &fmlbible; -)を適宜、参照して下さい。 - - - -さて、いつものように elena MLの作成過程を例にとりましょう。 -インストールのおおまかな流れは次のようになります。 - - - - - - - - ソースをダウンロードして、展開して下さい。 - - - - - - - - ユーザ root でインストールをする。 - まず、ユーザ fml とグループ fml を作成し、 - - configure - - および make を実行して下さい。 - - -% su root -# groupadd fml -# useradd -m -g fml fml -# ./configure -# make install - - - - - (デフォルトでは)インストーラは /usr/local/bin - - - デフォルトでは /usr/local ディレクトリ以下に - 適宜サブディレクトリが作られます。 - - configure のオプション - - で変更が可能です。 - - - に - fmldoc fmlconf fmlthread makefml fmlhtmlify fmlsch - などをインストールします。 - 実は、 - これらは - /usr/local/libexec/fml の下の実体を呼び出す単なる - wrapper です。 - - - - - - - - ユーザ fml で elena MLを作る。 - - -% su fml -% makefml newml elena - - - - - - - - MTA から fml を起動するために - /etc/mail/aliases の設定などをしてください。 - - - - - - - ML の動作テストをしてください。 - - - - - - - - ML のカスタマイズをする。 - - - - - - - - -&fml4; と異なり root でインストールすることに注意して下さい。 - - - - - - - - - - MLを作る - - -makefml を使ってMLを作成します。 -(デフォルトドメインの場合) makefml 使い方は &fml4; の時と同様です。 - -% su fml -% makefml newml elena - -詳しくは - - - -を参照してください。 - - - - - - - - カスタマイズをする - - - -elena MLの設定のカスタマイズは /var/spool/ml/elena/config.cf を編集 -して下さい。 -フォーマットは postfix の設定ファイルと同様というとわかりやすいでしょう。 -(&fml4; の config.ph よりは cf にやや近いですが) - - - -適宜必要な項目だけを追加して下さい。 -指定しない場合はデフォルト値が使われます。 -デフォルト値はインストールしたバージョンに依存しており、 - -/etc/fml/defaults/バージョン番号/default_config.cf - -というファイル中で定義されています。 -これは perl のライブラリが /usr/local/lib/perl/5.00503/ のように -バージョン番号付のディレクトリに置かれるのと似ています。 - - - -また、ライブラリなどのインストール先も fml のバージョンごとに -別のディレクトリになっていることに注意して下さい。 -この仕組みのおかげでアップグレードしても元に戻すのが簡単です。 -これは &fml5; の特徴です。 - - - - - diff --git a/fml/doc/ja/tutorial/overview/download.sgml b/fml/doc/ja/tutorial/overview/download.sgml index 49515bbe..a325dd5d 100644 --- a/fml/doc/ja/tutorial/overview/download.sgml +++ b/fml/doc/ja/tutorial/overview/download.sgml @@ -1,16 +1,18 @@ - - fml-devel のソースの入手方法 + + &fmldevel; のソースコードをダウンロードする + - - ftp + + ftp サーバからダウンロードする。 + fml-devel のソースは @@ -39,11 +41,12 @@ ftp://ftp.fml.org/pub/fml/daily-snapshots/fml-devel/source/ - - cvs へのアクセス + + cvs へのアクセス + -anoncvs.fml.org の fmlsrc 以下が fml 5.0 ブランチです。 +anoncvs.fml.org の fmlsrc 以下が &fmldevel; ブランチです。 @@ -59,8 +62,9 @@ cvs -d cvs.fml.org:/cvsroot co fmlsrc - - cvsweb による cvs へのアクセス + + cvsweb による cvs へのアクセス + diff --git a/fml/doc/ja/tutorial/overview/fml.sgml b/fml/doc/ja/tutorial/overview/fml.sgml new file mode 100644 index 00000000..ba562d77 --- /dev/null +++ b/fml/doc/ja/tutorial/overview/fml.sgml @@ -0,0 +1,371 @@ + + + + + &fmldevel; の概要 + + + + + +&fmldevel; は &fml4; 相当のものを完全に一から書き直すプロジェクトです。 +使い方の見かけは &fml4; に"似せて"います。 +主な注意点は +root での作業、 +configure の使用、 +そして /usr/local/etc/fml/ 以下のファイル、 +特に /usr/local/etc/fml/main.cf というグローバルな設定ファイルの編集です。 + + + + + + + + + &fmldevel; でできること + + + +&fml4; の再実装にあたっての山場はすでに越えたと思います。 +でも、こまごまとしたものはいろいろと残っていますが… + + + + + + + + + + postfix スタイルの設定ファイル + + + + + + + 配送、 + ヘッダの書き換え、 + フィルタ( 4.0 の Envelope Filter に相当するもの ) + + + + + + MTA が起動するメインのプログラム: + fml.pl distribute command + + + + + + + いくつかのユーティリティ: + fmlconf + fmldoc + fmlhtmlify + fmlsch + fmlthread + fmlspool + makefml + + + + + + + CGI : + fmlsch.cgi + fmlthread.cgi + makefml.cgi + + + + + + + IPv6 による配送 + + + + + + + スレッド追跡システム(CUI と CGI を含む): + (fmlthread fmlthread.cgi) + + + + + + + 記事の HTML 化システム: + fmlhtmlify および makefml に HTML 化コマンドがあります。 + + + + + + + + 抽象化 IO 層 + + メンバーファイルをファイル、/etc/group, NIS, MySQL + から取り出すことができます。 + + + + + + + + + + + + インストール作業の概略 + + + +以下で、特に触れていない概念(例: MLとは?)については &fml4; と同様です。 +くわしくは &fml4; の資料( + + http://www.fml.org/fml/ + + や + &fmlbible; +)を適宜、参照して下さい。 + + + +さて、いつものように elena MLの作成過程を例にとりましょう。 +インストールのおおまかな流れは次のようになります。 + + + + + + + + ソースをダウンロードして、展開して下さい。 + + + + + + + + ユーザ root でインストールをする。 + まず、ユーザ fml とグループ fml を作成し、 + + configure + + および make を実行して下さい。 + + +% su root +# groupadd fml +# useradd -m -g fml fml +# ./configure +# make install + + + + + (デフォルトでは)インストーラは /usr/local/bin + + + デフォルトでは /usr/local ディレクトリ以下に + 適宜サブディレクトリが作られます。 + + configure のオプション + + で変更が可能です。 + + + に + fmldoc fmlconf fmlthread makefml fmlhtmlify fmlsch + などをインストールします。 + 実は、 + これらは + /usr/local/libexec/fml の下の実体を呼び出す単なる + wrapper です。 + + + + + + + + ユーザ fml で elena MLを作る。 + + +% su fml +% makefml newml elena + + + + + + + + MTA から fml を起動するために + MTA の設定をしてください。 + + + + + + + ML の動作テストをしてください。 + + + + + + + + ML のカスタマイズをする。 + + + + + + + + +&fml4; と異なり root でインストールすることに注意して下さい。 + + + + + + + + + + MLを作る + + +makefml を使ってMLを作成します。 +デフォルトのドメイン(例: fml.org)の場合、 +makefml 使い方は &fml4; の時と同様です。 +elena@fml.org MLを作るには + +% su fml +% makefml newml elena + +とします。 +詳しくは + + + +を参照してください。 + + + +一方、バーチャルドメイン(nuinui.net)の場合は、 +アドレスを全部指定して下さい。 +elena@nuinui.net を作る場合は、次のように実行して下さい。 + +% su fml +% makefml newml elena@nuinui.net + + + + + + + + + + MLのメンバーを登録する + + +デフォルトのドメイン(例: fml.org)の場合は、 + +% su fml +% makefml subscribe elena rudo@nuinui.net + +で構いません。 +一方、バーチャルドメイン(nuinui.net)の場合は、 +アドレスを全部指定して下さい。 + +% su fml +% makefml subscribe elena@nuinui.net fukachan@sapporo.iij.ad.jp + + + + + + + + + + MLのメンバーから削除する + + +デフォルトのドメイン(例: fml.org)の場合は、 + +% su fml +% makefml unsubscribe elena rudo@nuinui.net + +で構いません。 +一方、バーチャルドメイン(nuinui.net)の場合は、 +アドレスを全部指定して下さい。 + +% su fml +% makefml unsubscribe elena@nuinui.net fukachan@sapporo.iij.ad.jp + + + + + + + + + + MLの設定をカスタマイズをする + + + + +まだ makefml config は使えません。ごめんなさい。 +ファイルを手で編集して下さい。 + + + + + +elena MLの設定のカスタマイズは /var/spool/ml/elena/config.cf を編集 +して下さい。 +フォーマットは postfix の設定ファイルと同様というとわかりやすいでしょう。 +(&fml4; の config.ph よりは cf にやや近いですが) + + + +適宜必要な項目だけを追加して下さい。 +指定しない場合はデフォルト値が使われます。 +デフォルト値はインストールしたバージョンに依存しており、 + +/usr/local/etc/fml/defaults/バージョン番号/default_config.cf + +というファイル中で定義されています。 +これは perl のライブラリが /usr/local/lib/perl/5.00503/ のように +バージョン番号付のディレクトリに置かれるのと似ています。 + + + +また、ライブラリなどのインストール先も fml のバージョンごとに +別のディレクトリになっていることに注意して下さい。 +この仕組みのおかげでアップグレードしても元に戻すのが簡単です。 +これは &fmldevel; の特徴です。 + + + + + + diff --git a/fml/doc/ja/tutorial/overview/ml.sgml b/fml/doc/ja/tutorial/overview/ml.sgml new file mode 100644 index 00000000..cdaf0685 --- /dev/null +++ b/fml/doc/ja/tutorial/overview/ml.sgml @@ -0,0 +1,68 @@ + + + + + MLとは? + + + + + 電子メール + + + +電子メールとは、郵便のネットワーク版です。 + + + +見栄えはメールソフトによって変わりますが、メールサーバがやりとりしてい +るのは次のような形式のテキストのファイルに過ぎません。 + +From: rudo@nuinui.net +To: kenken@nuinui.net +Subject: あそぼうよ + +やは、けんけん。ぼく、るどだよ。 + +// るど + + + + + + + + + + メーリングリスト(ML) + + + +メーリングリスト(以下ML)とは、巨大な文通の仕組みのようなものです。 + + + +ただ、電子メールはいくらでもコピーできるので、 +仮想のある人(MLのアドレス)にメールを送ると、 +文通友の会のメンバー全員にそのメールのコピーを配ります。 +これがMLの仕組みです。 + + + + + + + + MLドライバのモデル + + + +MLドライバのモデルは次のようなものです。 + + + + + + diff --git a/fml/doc/ja/tutorial/policy.sgml b/fml/doc/ja/tutorial/policy.sgml index 051a2025..8b2a2ba6 100644 --- a/fml/doc/ja/tutorial/policy.sgml +++ b/fml/doc/ja/tutorial/policy.sgml @@ -1,5 +1,5 @@ @@ -7,6 +7,15 @@ デザイン/コーディングスタイルの上でいろいろ + + +スタイルについては、 +FNF +も参照して下さい。 + + + + 2、3の注意点 @@ -21,7 +30,15 @@ <para> オブジェクトの中身のキーを直接使わずに、 常にアクセスメソッドを定義すること。 -例: main_cf へのアクセス +例: main_cf へのアクセスは +<screen> +$curproc->{ ... }->{ main_cf } +</screen> +ではなく +<screen> +$curproc->main_cf(); +</screen> +を使うこと </para> diff --git a/fml/doc/ja/tutorial/preface.sgml b/fml/doc/ja/tutorial/preface.sgml index 253d816c..38c7bad2 100644 --- a/fml/doc/ja/tutorial/preface.sgml +++ b/fml/doc/ja/tutorial/preface.sgml @@ -1,5 +1,5 @@ <!-- - $FML: preface.sgml,v 1.14 2002/04/13 10:59:02 fukachan Exp $ + $FML: preface.sgml,v 1.15 2002/05/13 14:18:15 fukachan Exp $ --> @@ -17,13 +17,16 @@ <warning> <para> -現状の &fml5; は運用ベースの実証実験の段階に入りました。 -基本的な機能はかなり実装されました。 -4.0 の細かな部分までフォローできているわけではありませんが… +現状の &fmldevel; は運用ベースの実証実験の段階に入り、 +config.cf の編集支援ツール(makefml config や CGI からの設定変更)を +除いて基本的な機能は実装されています。 +MLごとに細かい設定変更をしたい場合を除けば、普通に使えます。 +実際使っています。 </para> <para> -その意味で、いろいろな機能を使いたい場合には、まだまだ +ただ 4.0 の細かい昨日まで実装されているわけではありません。 +その意味では、いろいろな機能を使いたい人は <ulink url="http://www.fml.org/software/fml/menu.html"> 4.0 stable </ulink> @@ -50,12 +53,12 @@ http://www.fml.org/software/fml-devel/fml/doc/ja/todo/STATUS.html -&fml5; プロジェクトは &fml4; を +&fmldevel; プロジェクトは &fml4; を 1 から書き直す次世代 fml プロジェクトの総称 です。 これは &fml4; までに至る約 10 年の経験を再実装する試みといえます。 ざっくりとしたイメージしては -4.0 と &fml5; の違いは sendmail と postfix のような関係と思って下さい。 +4.0 と &fmldevel; の違いは sendmail と postfix のような関係と思って下さい。 @@ -67,12 +70,16 @@ http://www.fml.org/software/fml-devel/fml/doc/ja/todo/STATUS.html 例えば fml (4.0) を使っていて問題になるのは、 -「特定のホストで、FFS の上にファイルを書く」という -のが基本デザインから継承された構造です。 -では、 -冗長化構成のため NFS にするとどうなる? -トラブルチケットシステムと連動したい場合は? -SQL サーバとも連動したいですね? +「特定のホストで、ディスクの上にメンバーファイルを書く」という +デザインです。 +これは最初のバージョンから継承され続けている基本構造です。 + + + +しかしながら、冗長化構成を考えると +「NFS の時はどうする?」 +「トラブルチケットシステムと連動したい場合は?」 +「SQL サーバとも連動したいですね?」 う〜ん… @@ -80,8 +87,7 @@ SQL また、構造論ではなく単に自分で欲しい機能があります。 fml 自体がバグトラッキングシステムを提供して欲しいし、 bug tracking system もサーチエンジンもできるだけメールと連動して -いろいろして欲しい。 -それらをよい簡単に書けてほしいです。 +いろいろして欲しい。cvs ログとも連動して欲しい。 @@ -93,14 +99,14 @@ bug tracking system - &fml5; へ引き継ぐべき機能は何か? + &fmldevel; へ引き継ぐべき機能は何か? - &fml5; でもっとうまく、 + &fmldevel; でもっとうまく、 よりカスタマイズしやすいものに実装できないか? @@ -131,24 +137,14 @@ ftp://ftp.fml.org/pub/fml-devel/ -これは、あくまでもアイデアを表現するためのものなので、機能は最低限のも -のしかありませんが、十分動きます。 -作者は fml-devel MLをはじめ、 -いくつかの場所で運用ベースで使っています。 -もっとも、 -変数名もアーキテクチャアも本決まりではないので、 -将来変わる可能性はありますが… - - - -最初の試金石バージョンがリリースされる際には、 +最初の試金石バージョンは fml 1.2 相当の最低限の機能 + makefml (CUI + CGI) が加わったもの + 自動スレッド追跡システム + 自動 HTML 化機構 -が動くようになっている見通しです。 +が動きます。 @@ -157,12 +153,12 @@ fml 1.2 - &fml4; と &fml5; の関係 + &fml4; と &fmldevel; の関係 -4.0 と &fml5; は -&fml5; で作られたモジュールのマージと +4.0 と &fmldevel; は +&fmldevel; で作られたモジュールのマージと 4.0 自体のコードの保守をしつつ、 並行開発されていっています。 @@ -173,12 +169,12 @@ fml 1.2 4.0 の bug fix は 4.0.x (4.0.1 4.0.2 …)としてまとめられリリー スれていく予定です。 4.0-current は 4.0.x のためのテストケースであり、 -&fml5; は本当の開発コード( fml-current )という位置付けといえます。 +&fmldevel; は本当の開発コード( fml-current )という位置付けといえます。 fml-devel - -----------------------------> 5.0 or 8.0 (本プロジェクトの目標) + -----------------------------> 8.0 ? (次世代プロジェクトの目標) ↑↓交流 1.2 〜 4.0 ------------------------------> 4.0-current | | @@ -187,17 +183,17 @@ fml 1.2 -&fml5; 用に作られたモジュールを &fml4; へ輸入する予定です。 +&fmldevel; 用に作られたモジュールを &fml4; へ輸入する予定です。 たとえば 4.0 でも独立性の高い mead (エラーメール解析プログラム)や、 スレッド追跡システムです。 -これは &fml5; の機能を 4.0 でテストをするいう意味あいもあります。 +これは &fmldevel; の機能を 4.0 でテストをするいう意味あいもあります。 この作業は 4.0.4 か 4.0.5 以降本格化する予定です。 言い替えると、 4.0 系列の bug fix は 4.0 で行ないますが、 -新機能は、&fml5; で開発したものをモジュール単位で 4.0 へ輸入していく +新機能は、&fmldevel; で開発したものをモジュール単位で 4.0 へ輸入していく 形をとります。 @@ -205,101 +201,6 @@ fml 1.2 - - - - &fml5; で既に動く機能 - - - - - - - - - - postfix スタイルの設定ファイル - - - - - - - 配送、 - ヘッダの書き換え、 - フィルタ( 4.0 の Envelope Filter に相当するもの ) - - - - - - MTA が起動するメインのプログラム: - fml.pl distribute command - - - - - - - いくつかのユーティリティ: - fmlconf - fmldoc - fmlhtmlify - fmlsch - fmlthread - makefml - - - - - - - CGI : - fmlsch.cgi - fmlthread.cgi - makefml.cgi - - - - - - - IPv6 による配送 - - - - - - - スレッド追跡システム(CUI と CGI を含む): - (fmlthread fmlthread.cgi) - - - - - - - 記事の HTML 化システム: - fmlhtmlify および makefml に HTML 化コマンドがあります。 - - - - - - - - 抽象化 IO 層 - - メンバーファイルをファイル、/etc/group, NIS, MySQL - から取り出すことができます。 - - - - - - - - @@ -308,7 +209,7 @@ fml 1.2 -fml 5 の議論のためのメーリングリストを用意してあります。 +次世代 fml の議論のためのメーリングリストを用意してあります。 @@ -360,7 +261,7 @@ fml-devel -&fml5; のアイデアのついて、 +&fmldevel; のアイデアのついて、 ご意見・御感想をお待ち diff --git a/fml/doc/ja/tutorial/threadtrack/chapter.sgml b/fml/doc/ja/tutorial/threadtrack/chapter.sgml index bd44e66e..1b3d19b4 100644 --- a/fml/doc/ja/tutorial/threadtrack/chapter.sgml +++ b/fml/doc/ja/tutorial/threadtrack/chapter.sgml @@ -1,5 +1,5 @@ @@ -9,7 +9,7 @@ -fml 5.0 の問題意識は +&fmldevel; の問題意識は 「MLを走らせたら、スレッドのまとめくらい宜しくやって欲しい」 ということです。 あえていえば、インチキ knowledge database のようなものです。 @@ -106,11 +106,11 @@ closed - + - fml 5.0 (minimal_states モデル版)チケットシステム + &fmldevel; (minimal_states モデル版)チケットシステム diff --git a/fml/doc/ja/tutorial/usage/cgi.sgml b/fml/doc/ja/tutorial/usage/cgi.sgml index 235701be..bc1fb346 100644 --- a/fml/doc/ja/tutorial/usage/cgi.sgml +++ b/fml/doc/ja/tutorial/usage/cgi.sgml @@ -1,5 +1,5 @@ @@ -10,6 +10,26 @@ CGI による設定ツールです。 CGI で可能な項目は makefml のサブセットとなります。 + +例: CGI トップ画面 + + @home.fml.org CGI for configuration + +fml admin menu fml CGI interface for @home.fml.org ML's +mailing list: +[elena] 左のナビゲーションバーから、ML(mailing list)とコマ +command: ンド(command)を選択し、 submit ボタンを押して下さい +[subscribe ] 。 +[submit][reset] + subscribe アドレスの追加 + unsubscribe アドレスの削除 + addadmin リモート管理者アドレスの追加 + byeadmin リモート管理者アドレスの削除 +options Language: list アドレスリストを見る +[Japanese] [change] log ログを見る + newml MLの作成 + rmml MLの削除 + @@ -21,5 +41,4 @@ CGI - diff --git a/fml/doc/ja/tutorial/usage/command.sgml b/fml/doc/ja/tutorial/usage/command.sgml index dc52c359..01abfc37 100644 --- a/fml/doc/ja/tutorial/usage/command.sgml +++ b/fml/doc/ja/tutorial/usage/command.sgml @@ -1,5 +1,5 @@ @@ -15,7 +15,7 @@ fml -fml 5.0 では +&fmldevel; では メールによるコマンド処理 makefml によるコマンド処理 diff --git a/fml/doc/ja/tutorial/usage/makefml.sgml b/fml/doc/ja/tutorial/usage/makefml.sgml index 9ed021b9..64829145 100644 --- a/fml/doc/ja/tutorial/usage/makefml.sgml +++ b/fml/doc/ja/tutorial/usage/makefml.sgml @@ -1,5 +1,5 @@ @@ -7,7 +7,7 @@ makefml を使って、ユーザの登録/削除他(あらゆる:) -makefml の基本的な使い方は fml 4.0 の makefml と同様です。 +makefml の基本的な使い方は &fml4; の makefml と同様です。 というより、できるだけ互換性を保つように構築する予定です。 @@ -53,6 +53,15 @@ makefml + + + MLの削除 + ( + rmml + ) + + + ファイルを送り返す diff --git a/fml/doc/ja/tutorial/usage/newml.sgml b/fml/doc/ja/tutorial/usage/newml.sgml index 69bad730..d6ac1c09 100644 --- a/fml/doc/ja/tutorial/usage/newml.sgml +++ b/fml/doc/ja/tutorial/usage/newml.sgml @@ -1,5 +1,5 @@ @@ -20,7 +20,7 @@ こういった場合、 -fml 5.0 ではユーザが +&fmldevel; ではユーザが procmail などの振分ツールを使うだろうと期待しています :-) -- cgit v1.2.1