 		雑多なメモ
		Last Modified: $Date$

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

[TODO]	discard_spam for *_restrictions ?

	*_restrictions = 	discard_spam
				reject_system_special_accounts
				... いつものかんじ ...

[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] NOT WORKS !

	command_mail_restrictions =	reject_system_special_accounts 
					permit_forward_to_moderator
					reject


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


[TODO] web で [subscribe] をくりっく
		ユニークな ID を DB に登録
		ユニークな ID つきのメールを送信
		ユニークな ID が認証されたら confirmation へはいる


[TODO] 添付ファイルをサイズでチェック

	# allow only text/plain messages.
	text/plain	*		permit
	text/html	*		reject
	multipart/*	*;size<=1M	permit		<- ?
	multipart/*	!text/plain	reject


[TODO] fml 4 to 8: $AUTO_REGISTRATION_TYPE

	subject body no-keyword

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


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


[TODO]	command_args をあちこちで生書きしない。オブジェクトにする

	cvs diff -ub -D 2006-03-01


[TODO]	config tool

	多言語サポート
	GUI config


[TODO]	メッセージを config する tool


[TODO]	MTI トラフィックフィルタ

	   単位時間あたりの投稿数を制限したい
	   単位時間あたりのコマンドメール数を制限したい
	   MTI のデータベースで dbmopen() 以外のものが使いたい
	   MTI の結果を他のプログラムでも使いたい
	   リモート管理者は MTI の対象にしない


[TODO]	CGI は cookie をつかったほうがいいのかなぁ？

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

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



[TODO]	CGI スキンを動的に切替えられる？

		config.cgi -> menu.cgi


[TODO]	mime component filter で添付ファイルを禁止する

	こんなかんじ？

	use_article_mime_component_filter       =       yes
	article_mime_component_filter_rules     = 	ファイル

	[ファイル]

		multipart/*	*;name=.*\.exe 	reject
		multipart/*	attachment	reject

	もしくは、こんなの？


	article_mime_component_filter_rules     = 	ファイル
							reject_attachment

	article_mime_component_filter_unsafe_attachments = exe



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

		newml_command_mta_config_list
		rmml_command_mta_config_list

	こいつらは select_list とも、びみょうにちがうか…


[TODO]	ドキュメント: 4 to 8 の解説ってあってる？


[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 につっこみたいとか〜


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


[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]	このネーミングはどうなん？

	* 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


[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.129 2008/08/10 04:09:07 fukachan Exp $
