<!-- -*- mode:text coding:euc-jp -*-
   $FML: merge.sgml,v 1.4 2008/08/18 20:52:59 fukachan Exp $
-->


<chapter id="merge.internal.to.fml8">
	<title>
	ケーススタディ: 他のＭＬシステムの設定を &fml8; へ変換するには？
	</title>


<sect1 id="merge.internal.fml4to8">
	<title>
	内部実装: &fml4; から &fml8; への移行について
	</title>

<sect2>
	<title>
	ケース 1. /var/spool/ml/elena/ を 4.0 から 8.0 へ移行する処理
	</title>

<para>
次のような処理をすることになります。
</para>

<para>
1) &fml8; をインストールする。
この際、postfix の alias_maps に 
/var/spool/ml/etc/mail/aliases
(まだ、この段階では中身のないファイルでよい)
を追加する。
</para>

<para>
2) makefml --force newml elena 相当の処理を行なう。
&fml8; で必要なファイルをいろいろと作る必要があるので、
newml を実行してしまうほうがよい。
本当に makefml newml を実行するか、
newml の実体の処理を呼び出すようにするかはどちらでもよい
(が、たぶん後者の実装でよい)。
</para>

<para>
3) /var/spool/ml/elena のメンバーリストを &fml8; 形式へ変換する。
その際にも、いろいろ変換しないといけない。
</para>

<para>
3-1)
IO::Adapter は ^# の行はコメントだと思って無視している。
よって、actives で off されているアドレスは消えているように見える。
</para>

<para>
3-2)
off を s=skip と書いていると on 扱いになってしまう。
</para>

<para>
3-3)
m=... つまりまとめ行が無効になる。

しかしながら、
歴史的に members で # address と書かれていると 4.0 では OK だが、
8.0 ではこのアドレスは見えない(認証する際の候補にならない)。
フォーマットを検査して warning を出すべきだろうか？
</para>

<para>
4) &fml4; の
aliases ファイル (/var/spool/ml/etc/fml/aliases)
から該当するＭＬの部分を消して .db を再生成する。
</para>

</sect2>


<sect2>
	<title>
	ケース 2. /var/spool/ml/ 全体を 4.0 から 8.0 へ移行する
	</title>

<para>
ケース 1. を繰り返し適用すればいいでしょう。
</para>

<para>
移行作業中にＭＬ全体を止めていいなら、
&fml4; の 
/var/spool/ml/etc/fml/aliases
を削除したうえで、ケース１を適用するのが楽なやり方でしょう。
もちろん、移行作業中は MTA を止めてください。
</para>

</sect2>


<sect2>
	<title>
	議論: 同一ドメインで、&fml4; と &fml8; を半々に使っている場合
	</title>

<para>
(X-Sequence: fml-devel 389 より)
</para>

<para>
同一ドメインで、&fml4; と &fml8; を半々に使っている場合、
次のような設定をほどこしておくとよいでしょうか？
いや、
中途半端なトリックはやめて、
すなおに、mergeml で変換するか、しないかにしておいた方が無難だと思います。
</para>

<para>
&fml4; での設定(site_init.phとかconfig.ph)で
<screen>
push(@ACTIVE_LIST,"$DIR/recipients") if( -f "$DIR/recipients" ) ;
</screen>
一方、&fml8; での設定(site_default_config.cfやconfig.cf)で
<screen>
html_archive_dir = $ml_home_dir/htdocs
</screen>
</para>

</sect2>

</sect1>


</chapter>
