 		雑多なメモ
		Last Modified: $Date$

	XXX fml 4.0 と同じディレクトリ名は使わないように
	XXX 作業したら TODO/STATUS.txt もアップデートしてね
	XXX このファイルは、なる早で解決する/bug fix するべきもの
        XXX 遠大なビジョンやとりあえず後まわしでよいものは STATUS.txt へ


[TODO]	リリースしてしまうと直せないものを優先的に直すこと

		変数名
		$curproc のメソッド名
		->{ next } を消す
		○ 内部構造の TODO をやれ！

	など。


[TODO]	isolate queue

	DONE: 定期的に $isolated_queue_dir/YYYY/MM/DD へ移動。 
		
	TODO; expire!

	TODO: レポートにうめる URL
		ACL を書きやすいように、管理画面とは違う URL か？

	http://lists.x.y/~fml/cgi-bin/anonymous/report.cgi?id=aaaaa...

	→ web で [subscribe/unsubscribe] をくりっくの URL とも整合性を


[TODO]	CGI の設定を動的に切替えられる
		SKIN and Language

	cookie で設定を覚えておかないといかんな。

	URL ごとにスキンがことなる、いまのほうしきでは、スキンが増える
	たびに再インストールしないといけないし、めんどうだし、やめたい。
	ま、ぷろとたいぷだから、ここは、すて↑

	その場合、はじめから perl 5 についてるモジュールで GO

		/usr/pkg/lib/perl5//5.8.0/CGI/eg/cookie.cgi
		/usr/pkg/lib/perl5//5.8.0/CGI/Cookie.pm

	設定を覚えるためだけに cookie ? いや、それはただしいだろ。



[TODO]	無限 confirmation 問題(?)

	command_mail_restrictions =	reject_system_special_accounts 
					permit_forward_to_moderator
					reject


	confirm がかえるのはただしいが、confirm をおくりかえすと
	confirm コマンドとして解釈されない（もういちど confirmation になる)


[TODO]	command_context をあちこちで生書き換えしない。オブジェクト化。

		FML/Article/Spool.pm
		FML/CGI/User.pm
		FML/Command/Admin/dir.pm
		FML/Command/Admin/get.pm
		FML/Command/Admin/moderate.pm
		FML/Command/Admin/spool.pm
		FML/Command/Admin/subscribe.pm
		FML/Command/DirUtils.pm
		FML/Command/SendFile.pm
		FML/Command/User/confirm.pm
		FML/Command/User/summary.pm


[TODO]	config tool: 多言語サポート (CUI)


[TODO]	config tool: メッセージを編集するツール


[TODO]	スレッド関連のモジュールとドキュメントを全部見直せよ

	FML::Article::Thread
		print_one_line_summary は、まいかい
		メッセージをパースしてるのですが、
		DB の article_summary にいれておけばいいでしょう

	スレッド DB 再生成の呪文がないよ;)

		makefml udb $ml_name rebuild (?)

	スレッドその他のエンジンもそれを使うことになる。

	MTI との統合

	output とモードの明瞭化を

	どこでどう CSS とたたかうの？

	index.html (fml-devel 234)
	 	最近のＭＬのレビュー
	 		＋
	 	選択画面 → index thread monthly

	subdir によって、ちょくせつのリンクがつらい？

	あるごりずむ ?

 	+
		+
			+ (3)


	+ (4)
		+

	となっているときに (3) の next_thread は、いつ次のリンクがわかる
	のか？予言できない。過去に向かってスレッドを修正するアルゴリズ
	ムなので、過去の修正がいつ行なわれるかは良くわからない;)

	→ (4) が来た時に (3) を修正するべき？

	とりあえず、すれっど全部のファイルに修正を試みるべきだ。
	ローカルな更新は、あまりよい結果にならないようだ。

	udb_write_map ? udb_store_map ?
		local いがいのばあい、はどうすればいいの？
		MySQL につっこみたいとか〜


======================================================================
○ fml4 → fml8 コンバータの問題


[TODO]	fml4 to fml8: ドキュメントの fml4 to fml8 の解説は正しい？


[TODO]	fml4 to fml8: $AUTO_REGISTRATION_TYPE

	subject body no-keyword

	行ごとに解析する現在のコードには、うまくのらない。


[TODO]	fml4 to fml8: subject tag

	    BRACKET
	    STRIP_BRACKETS
	    BRACKET_SEPARATOR
	    SUBJECT_FREE_FORM
	    SUBJECT_FREE_FORM_REGEXP
	    SUBJECT_FORM_LONG_ID
	    SUBJECT_HML_FORM
	    HML_FORM_LONG_ID


[TODO]	fml4 to fml8: mime component filter

	    CONTENT_HANDLER_CUTOFF_EMPTY_MESSAGE
	    CONTENT_HANDLER_REJECT_EMPTY_MESSAGE
	    HTML_MAIL_DEFAULT_HANDLER

	の変換が難しい。とりあえず忘れる(ステータス:未サポート)。


======================================================================
○	内部構造


[TODO]	"IS-A FML::Command::Syntax" wrong


[TODO]	charset と言語(japanese,english)との対応関係を一箇所にまとめて定義

	[CHECK]
		Mail/Message/Encode.pm
		Mail/Message/ToHTML.pm

	OUTPUT をどうすればよいか？で決まる処理はなんとかなる。
	入力は自動判定になるが、出力は設定ファイルで決まる。

		もんだいは Mail/Message/ToHTML.pm だけみたい

	問題は HTML 化のような入力が動的に変化する場合だ。
	基本的に入力は自動判定ということで、処理は同様なのだが、
	出力(たとえば .html の content-type)も入力と同期して変化するべきだ。


[TODO]	エラートラップ・フレームワーク

	use shared memory ?


[TODO]	FML::Restriction

	->regexp_match() は、まぁいいとおもうが、それいがいのところ

	FML/Process/CGI/Param.pm で使っているけど
		->regexp_match() スタイルにしてほしい


[TODO]	FML::Command::Admin::dir

	cgi_menu() ?
	ディレクトリ listing してくれる perl module ないかな？


[TODO]	remove $msg->{ next }

	Mail/Message/ToHTML.pm
	Mail/Message.pm
	Mail/Bounce/Postfix19991231.pm
	Mail/Bounce/Qmail.pm


[TODO]	string ? or str ?

	Mail/Message/Encode.pm:sub decode_base64_string
	FML/Header.pm:sub delete_subject_tag_like_string
	Mail/Message/Utils.pm:sub remove_subject_tag_like_string
	Mail/Message/Encode.pm:sub decode_mime_string
	Mail/Message/Encode.pm:sub encode_mime_string
	FML/Filter/TextPlain.pm:sub reject_not_iso2022jp_japanese_string
	Mail/Message/Encode.pm:sub is_iso2022jp_string
	Mail/Message/Encode.pm:sub decode_qp_string

	Mail/Message/Encode.pm:sub convert_str_ref
	Mail/Message/String.pm:sub as_str
	Mail/Message/Address.pm:sub as_str
	Mail/Message.pm:sub whole_message_as_str
	Mail/Message.pm:sub whole_message_header_as_str
	Mail/Message/Address.pm:sub substr

	Mail/Message.pm:sub errstr
	ErrorStatus.pm:sub errstr
	FML/Filter/ErrorStatus.pm:sub errstr
	IO/Adapter/ErrorStatus.pm:sub errstr
	Mail/Delivery/ErrorStatus.pm:sub errstr



======================================================================
○		FNF-ify およびドキュメント


[TODO]	fundamental policy ?

    1. Have minimal impact on users
    2. Limit spammers ability to circumvent the blocking
    3. Require minimal maintenance at both the user and administrator
       level


[TODO]	変数名なんだが… *_mta_config_list は困ったな

		newml_command_mta_config_list
		rmml_command_mta_config_list

	こいつらは select_list とも微妙に違うのだが？

	まぁいいか？


[TODO]	このネーミングはどうなん？

	* TODO

 	FixIt                                    Mail/Bounce/FixBrokenAddress

	address_cleanup                          FML/Header
	address_cleanup                          Mail/Bounce

	---------->8---------->8---------->8---------->8---------->8
	* けすべき

	method_regexp                            FML/Restriction/CGI
	param_regexp                             FML/Restriction/CGI

	* どうなんだろう？

	regexp_compile                           FML/Header/Subject

	command_regexp_match                     FML/Restriction/Command
	regexp_match                             FML/Restriction/Base
	safe_regexp_match                        FML/Command


[TODO]	HOOK のガイドライン？

	どの HOOK あたりで、なにをかくべきか？


[TODO]	ドキュメント( tutorial )

	module/Mail::Message::ToHTML

	usage/ がいまいち
	fml bible のパートIIIの最初の部分のように編成し直すべき


[TODO]	ドキュメントの翻訳

	どうやってシンクロするの？


[TODO]	2008 document overhaul (en)
		remove tech, recipes.


[TODO]	2008 module overhaul + 2005/05 のオーバホールの残り

   * 重たいので後回しにされてるもの
	Mail/Delivery/Queue.pm
	Mail/Delivery/SMTP.pm
	Mail/Message.pm
	FML/Filter/MimeComponent.pm

   * スレッド関連のモジュール
	FML/CGI/Thread.pm
	Mail/Message/ToHTML.pm

   * IN/OUT のチェック
	Mail/Message/ToHTML.pm

	Mail/Message/Print などに集結させるべきだろうか？
		print_axss (against cross site scripting).

  * ちょっとコーディングスタイルが古いかな?

	FML::Header
	FML::Header::Subject
	Mail::Delivery::* (?)
	FML::Filter::TextPlain

   * 使ってないモジュール?
	FML::Data::Deadline
	FML::Sys::Alias

----------
$FML: 00_MEMO,v 1.137 2008/10/31 00:58:45 fukachan Exp $
