summaryrefslogtreecommitdiff
path: root/fml/doc/ja
diff options
context:
space:
mode:
authorfukachan <fukachan>2003-03-09 08:29:08 +0000
committerfukachan <fukachan>2003-03-09 08:29:08 +0000
commit670cfb4d0b2abc942517a1d706349ba81697f498 (patch)
treece6057bc112b2edfc7eeb8604f6081fe3ecc0c2a /fml/doc/ja
parentc62651a5a1cac63e14d7c186c9c1433f84c6c97d (diff)
downloadfml8-670cfb4d0b2abc942517a1d706349ba81697f498.tar.gz
fml8-670cfb4d0b2abc942517a1d706349ba81697f498.tar.bz2
fml8-670cfb4d0b2abc942517a1d706349ba81697f498.zip
merge 01_* with tutorial/
Diffstat (limited to 'fml/doc/ja')
-rw-r--r--fml/doc/ja/01_RFC_BOOTSTRAP.txt60
-rw-r--r--fml/doc/ja/01_RFC_CGI.txt34
-rw-r--r--fml/doc/ja/01_RFC_FILENAME.txt6
-rw-r--r--fml/doc/ja/01_RFC_VIRTUAL.txt3
-rw-r--r--fml/doc/ja/tutorial/book.sgml3
-rw-r--r--fml/doc/ja/tutorial/include/chapters.ent3
-rw-r--r--fml/doc/ja/tutorial/internals/bootloader.sgml90
-rw-r--r--fml/doc/ja/tutorial/internals/cgi.sgml43
-rw-r--r--fml/doc/ja/tutorial/module/encode.sgml (renamed from fml/doc/ja/01_RFC_ENCODE.txt)76
9 files changed, 158 insertions, 160 deletions
diff --git a/fml/doc/ja/01_RFC_BOOTSTRAP.txt b/fml/doc/ja/01_RFC_BOOTSTRAP.txt
deleted file mode 100644
index 2d5035f4..00000000
--- a/fml/doc/ja/01_RFC_BOOTSTRAP.txt
+++ /dev/null
@@ -1,60 +0,0 @@
-Q: ml_name ml_domain はどこで解決するのが正しいか?
-
-A: 現在の bootstrap のフロー
-
-ケース1: libexec/distribute
-
- functions class
- ----------------------------------------
-
- main::Bootstrap() libexec/loader
- |
- V
- main::Bootstrap2() Process::Switch
- |
- V
- ProcessSwitch() Process::Switch
- |
- | <--- $obj = FML::Process:Distribute
- |
- V
- ProcessStart($obj,$args) Process::Flow
-
-
-main::Bootstrap()
-
- main.cf から fml のバージョン依存性を解く
-
- hints を渡す (CGI のみ)
- ◎ CGI だけ
- 嘘の入力がありうる
- そのため、loader に hints として
- ml_domain や ml_name がハードコードされている。
-
-
-main::Bootstrap2()
-ProcessSwitch()
-
- 使うモジュール( Process::なんか )を決める
- 読み込むべき cf ファイルの決定(なんで?)
- ライブラリパスの決定や @INC の修正など
-
- hints を渡す?使う? (CGI のみ?)
-
-
-ProcessStart($obj,$args)
-
- 処理本体のスタート
-
- new
-
- prepare
- ml_name ml_domain の決定
- CGI からの入力を解析する
- hints を使う?(CGI のみ?)
-
- 読み込むべき cf ファイルの決定
-
- parse
- メールを読み込む
- コマンドラインを解析する
diff --git a/fml/doc/ja/01_RFC_CGI.txt b/fml/doc/ja/01_RFC_CGI.txt
deleted file mode 100644
index aa7d456d..00000000
--- a/fml/doc/ja/01_RFC_CGI.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-CGI の画面の構造
-
- run_cgi_main() の実行結果
- テーブル (3 x 3)
-
-[現状]
-
- main
- title
- navigator menu command_help
- options
-
- 注意: ここでは関数名の頭の run_cgi_ という prefix は省略されている
-
-
-[解説]
-
-テーブル部分は、ハッシュテーブルで決められた順で関数を実行し、テーブル
-を作成している。
-
-run_cgi_main() は何らかの処理をしない限り何も表示しない。
-大抵は「なし」か「OK …」程度。エラーメッセージを表示することもある。
-また、この関数はML一覧などをきちんと最新の情報にするために、
-画面を描く前に実行する必要がある。
-
-ちなみに、run_cgi_main() は個々の関数を呼び出すためのトップレベルのア
-ダプター層で、FML::CGI::Menu::Admin に定義されている。個々のコマンドは
-makefml の時と同様にこの関数経由で実行される。
-
-ただし、ログやメンバーリスト一覧のように run_cgi_menu() から結果の表示
-をしているものもある。これは表示のオプションの指定をさせるために、
-run_cgi_main() ではなく run_cgi_menu() 経由で表示しているともいえるの
-だが、なにしろコマンドの結果の表示が長いので、今のように menu() 経由の
-ほうがよいと思われる。
diff --git a/fml/doc/ja/01_RFC_FILENAME.txt b/fml/doc/ja/01_RFC_FILENAME.txt
deleted file mode 100644
index cf59c5dc..00000000
--- a/fml/doc/ja/01_RFC_FILENAME.txt
+++ /dev/null
@@ -1,6 +0,0 @@
- ここまできたらファイル名も変える方が建設的だろうという話
-
-http://www.fml.org/software/fml-devel/Documentation/ja/tutorial/filename.html
-
------
-$FML: 01_RFC_FILENAME.txt,v 1.2 2002/08/21 15:30:25 fukachan Exp $
diff --git a/fml/doc/ja/01_RFC_VIRTUAL.txt b/fml/doc/ja/01_RFC_VIRTUAL.txt
deleted file mode 100644
index 2e311d76..00000000
--- a/fml/doc/ja/01_RFC_VIRTUAL.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-moved to tutorial/
-
-http://www.fml.org/software/fml-devel/Documentation/ja/tutorial/
diff --git a/fml/doc/ja/tutorial/book.sgml b/fml/doc/ja/tutorial/book.sgml
index 4545810d..aabb4d24 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.50 2003/02/18 02:24:46 fukachan Exp $
+$FML: book.sgml,v 1.51 2003/02/18 13:40:19 fukachan Exp $
-->
<!doctype book public "-//FML//DTD DocBook V3.1-Based Extension//EN" [
@@ -174,6 +174,7 @@ $FML: book.sgml,v 1.50 2003/02/18 02:24:46 fukachan Exp $
&chapter.module.io.adapter;
&chapter.module.mail.message;
&chapter.module.nl;
+ &chapter.module.encode;
&chapter.module.create;
</part>
diff --git a/fml/doc/ja/tutorial/include/chapters.ent b/fml/doc/ja/tutorial/include/chapters.ent
index ee79aa3e..d19b6b2e 100644
--- a/fml/doc/ja/tutorial/include/chapters.ent
+++ b/fml/doc/ja/tutorial/include/chapters.ent
@@ -1,5 +1,5 @@
<!--
- $FML: chapters.ent,v 1.64 2003/02/18 02:29:13 fukachan Exp $
+ $FML: chapters.ent,v 1.65 2003/02/18 13:40:20 fukachan Exp $
-->
<!entity versin "1.1">
@@ -168,6 +168,7 @@
<!entity chapter.module.mail.message SYSTEM "module/Message.sgml">
<!entity chapter.module.nl SYSTEM "module/nativelanguage.sgml">
<!entity chapter.module.create SYSTEM "module/create.sgml">
+<!entity chapter.module.encode SYSTEM "module/encode.sgml">
diff --git a/fml/doc/ja/tutorial/internals/bootloader.sgml b/fml/doc/ja/tutorial/internals/bootloader.sgml
index 56fe2d9d..f436e301 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.7 2002/07/02 10:39:35 fukachan Exp $
+ $FML: bootloader.sgml,v 1.8 2002/07/06 14:55:18 fukachan Exp $
-->
<chapter id="bootloader">
@@ -13,18 +13,32 @@
めに、本章で述べるようなブートストラップの過程があります。
<screen>
-fml が boot していくイメージ
-
-libexec/loader ->
- FML::Process::Switch ->
- FML::Process::Flow ->
- FML::Process::それぞれのプログラムのモジュール
+fml (libexec/distribute) が boot していくイメージ
+
+ functions class
+ ----------------------------------------
+
+ main::Bootstrap() libexec/loader
+ |
+ V
+ main::Bootstrap2() FML::Process::Switch
+ |
+ V
+ ProcessSwitch() FML::Process::Switch
+ |
+ |
+ | switch to ($obj = FML::Process:Distribute)
+ |
+ V
+ ProcessStart($obj,$args) FML::Process::Flow
</screen>
</para>
-<sect1>
- <title> 例: 配送の場合 </title>
+<sect1 id="bootloader.example.distribute">
+ <title>
+ 例: 配送の場合
+ </title>
<para>
loader から次々と呼ばれていく様子は、例えば配送処理の場合、次のよう
@@ -59,8 +73,10 @@ FML::Process::Distribute を実行していくという流れになります。
</sect1>
-<sect1>
- <title> FML::Process:: クラスの階層構造 </title>
+<sect1 id="bootloader.classes">
+ <title>
+ FML::Process:: クラスの階層構造
+ </title>
<para>
<screen>
@@ -77,7 +93,7 @@ FML::Process::Mead >-| |
</sect1>
-<sect1>
+<sect1 id="bootloader.classes2">
<title>
プロセス実行時に使われるモジュール群
</title>
@@ -167,4 +183,54 @@ $process->finish($args);
</sect1>
+<sect1 id="bootloader.resolv.mlxxx">
+ <title>
+ ml_name と ml_domain の値はどこで解決するのが正しいか?
+ </title>
+
+<para>
+<screen>
+main::Bootstrap()
+
+ main.cf から fml のバージョン依存性を解く
+
+ hints を渡す (CGI のみ)
+ ◎ CGI だけ
+ 嘘の入力がありうる
+ そのため、loader に hints として
+ ml_domain や ml_name がハードコードされている。
+
+
+main::Bootstrap2()
+ProcessSwitch()
+
+ 使うモジュール( Process::なんか )を決める
+ 読み込むべき cf ファイルの決定(なんで?)
+ ライブラリパスの決定や @INC の修正など
+
+ hints を渡す?使う? (CGI のみ?)
+
+
+ProcessStart($obj,$args)
+
+ 処理本体のスタート
+
+ new
+
+ prepare
+ ml_name と ml_domain の決定
+ CGI からの入力を解析する
+ hints を使う?(CGI のみ?)
+
+ 読み込むべき cf ファイルの決定
+
+ parse
+ メールを読み込む
+ コマンドラインを解析する
+</screen>
+</para>
+
+</sect1>
+
+
</chapter>
diff --git a/fml/doc/ja/tutorial/internals/cgi.sgml b/fml/doc/ja/tutorial/internals/cgi.sgml
index 8525bde4..8ab251d4 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.8 2002/07/19 03:21:55 fukachan Exp $
+ $FML: cgi.sgml,v 1.9 2002/07/23 09:34:34 fukachan Exp $
-->
<chapter id="internalcgi">
@@ -99,6 +99,47 @@ sw south se
</para>
+<sect2>
+ <title>
+ 現在の CGI の画面の構造
+ </title>
+
+<para>
+以下のような3x3のテーブル構造をとっており、
+<screen>
+run_cgi_main
+ run_cgi_title
+run_cgi_navigator run_cgi_menu run_cgi_command_help
+run_cgi_options
+</screen>
+HTML のレベルでは、TABLE 命令を使って疑似的なナビゲーションバーのよう
+なものを作っている。そして、ハッシュテーブルで定義されている関数を決め
+られた順番で実行し、テーブルを作成している。
+</para>
+
+<para>
+run_cgi_main() は何らかの処理をしない限り何も表示しない。
+大抵は「なし」か「OK …」程度。エラーメッセージを表示することもある。
+また、この関数はML一覧などをきちんと最新の情報にするために、
+画面を描く前に実行する必要がある。
+</para>
+
+<para>
+ちなみに、run_cgi_main() は個々の関数を呼び出すためのトップレベルのア
+ダプター層で、FML::CGI::Menu::Admin に定義されている。個々のコマンドは
+makefml の時と同様にこの関数経由で実行される。
+</para>
+
+<para>
+ただし、ログやメンバーリスト一覧のように run_cgi_menu() から結果の表示
+をしているものもある。これは表示のオプションの指定をさせるために、
+run_cgi_main() ではなく run_cgi_menu() 経由で表示しているともいえるの
+だが、なにしろコマンドの結果の表示が長いので、今のように menu() 経由の
+ほうがよいと思われる。
+</para>
+
+</sect2>
+
</sect1>
diff --git a/fml/doc/ja/01_RFC_ENCODE.txt b/fml/doc/ja/tutorial/module/encode.sgml
index 9679456f..42e7e346 100644
--- a/fml/doc/ja/01_RFC_ENCODE.txt
+++ b/fml/doc/ja/tutorial/module/encode.sgml
@@ -1,13 +1,14 @@
- Mail::Message::Encode クラス(?)
-
- XXX じゃ Mail::Message::Decode も必要ですな?
- XXX FML::Encode vs Mail::Message::Encode
-
+<chapter id="module.mail.message.encode">
+ <title>
+ Mail::Message::Encode クラス
+ </title>
+<para>
[リファレンス]
- fml-help ML's Count: 02012, 02013, 02016 など
-
+fml-help ML's Count: 02012, 02013, 02016 など
+</para>
+<screen>
[使い方の例]
use Mail::Message::Encode;
@@ -25,13 +26,18 @@
* 4.0 互換
ues Mail::Message::Encode qw(STR2EUC);
my $euc_s = STR2EUC( $s );
+</screen>
-[仕様]
+<sect1>
+ <title>
+ 仕様
+ </title>
+<para>
本体は _convert_str_ref() にまとめる。
-
+<screen>
sub convert # 引数が STR
{
my ($self, $str, $out_code, $in_code) = @_;
@@ -68,30 +74,37 @@
return 0 ; # 失敗
}
+</screen>
-
+<screen>
sub base64 {}
sub quoted_printable {}
があるといいかな〜
$x = $encode->base64($s);
+</screen>
-
-[互換性というか便宜上、STR2XXX() も準備する]
-
+また、互換性というか便宜上、STR2XXX() も準備する。
+<screen>
STR2EUC( $str, [$icode] )
STR2JIS( $str, [$icode] )
STR2SJIS( $str, [$icode] )
-
+</screen>
は convert_str_ref を wrap する。
+</para>
+</sect1>
-[特別な関数]
-
-euc にしてごにょごにょ する典型的なコードは全部 wrap する。
+<sect1>
+ <title>
+ 特別な関数
+ </title>
+<para>
+euc にしてごにょごにょ する典型的なコードは全部 wrap する。
+<screen>
# change code and do $proc
sub run_in_chcode
{
@@ -102,30 +115,9 @@ sub run_in_chcode
convert_str_ref($s, $out_code, $EUC_JP) if $conv_status && $out_code;
return wantarray ? ($conv_status, $proc_status): $conv_status;
}
+</screen>
+</para>
+</sect1>
-
-[Mail::Message::Encode へマージしたいもの]
-
- Mail/Message/Decode.pm
- Mail/Message/Encode.pm
- はどうする?
-
- FML::Language を削除
- FML::Language::ISO2022JP を削除
- 実態は以下の2つのクラス
-
- FML::Language::Japanese::String
- STR2EUC()
- STR2JIS()
- STR2SJIS()
-
-
- FML::Language::Japanese::Utils
- is_iso2022jp_string()
- _look_not_iso2022jp_string()
- compare_euc_string()
-
- [TODO]
-
- Mail/ThreadTrack/Print/Utils.pm に STR2EUC がある
+</chapter>