<!--
   $FML: chapter.sgml,v 1.3 2003/11/24 04:44:58 fukachan Exp $
-->

<chapter id="virtualdomain">
	<title>
	バーチャルドメインの取り扱いについて
	</title>

<caution>
<para>
2003/11: バーチャルドメインの取り扱い方を拡張しました。
</para>

<para>
virtual_maps は obsolete となりました。が、互換性のため利用可能となっ
ています。今後は virtual_maps の代わりに ml_home_prefix_maps を使うこ
とになります。また、ml_home_prefix_maps を操作する newdomain と 
rmdomain コマンドが創設されました。
</para>
</caution>


<sect1 id="virtualdomain.fml8.motif">
	<title>
	モティーフ
	</title>

<para>
&fml8; 全体で統一的に扱えるようにしたい。
また、できるだけ &fml4; の素直な拡張であってほしい。
さらに、引越しなどが出来るだけ楽であると嬉しい。
</para>

<para>
そこで、「ユーザ＠ドメイン」形式の文字列をＭＬ名に使うことにします。こ
れでデフォルトのドメインかバーチャルドメインかを &fml8; が解釈すること
が可能です。
</para>

<para>
また、引越しやディレクトリ名の変更を楽に行なうコマンドを用意する予定で
す。
</para>

</sect1>


<sect1 id="virtualdomain.fml8.overview">
	<title>
	概要: &fmldevel; におけるバーチャルドメインの取り扱い
	</title>

<para>
あるドメインを使いはじめる時は、最初に newdomain コマンドを実行して下さい。
このコマンドは
<link linkend="install.virtual">
ml_home_prefix_maps 
</link>
を適宜、編集してくれます。
</para>

<para>
この後は &fml4; と同様に makefml (or fml) コマンドを使ってください。た
だし、makefml (or fml)コマンドを使う際には、ＭＬ名を「ユーザ＠ドメイン」
形式で指定することだけが違います。
</para>

<para>
なお、デフォルトのドメインの場合には、＠ドメインが省略可能です。
つまり、この場合に限り &fml4; と同じ形式に戻るというわけです。
</para>

<para>
例えば、コマンドの操作はＭＬではなく、ＭＬ＠ドメイン名を使うことになり
ます。つまり
<screen>
makefml newml	ML@virtualdomain
makefml add	ML@virtualdomain	address
makefml bye	ML@virtualdomain	address
</screen>
などといった具合いになります。
</para>

<para>
なお、CGI での操作ではドメイン名の指定は不要です。これは、config.cgi 
生成時にドメインがスクリプト中に埋め込まれているためです。画面にもドメ
イン名が出ているはずですし、そもそも URL にドメイン名が入っている
<screen>
http://lists/~fml/cgi-bin/fml/$domain/admin/config.cgi
</screen>
ので、どのドメインの操作をしているのかはわかっているはずです。
</para>

<warning>
<para>
なお、CGI の URL にドメイン名が入っているのは、操作する人にとって分か
りやすいようにという配慮であって、URL を元にドメイン名を決めているわけ
ではありません。ＭＬ名やドメイン名は newml 時に作成される .cgi スクリ
プトにハードコーディングされています。
</para>
</warning>

</sect1>


<sect1 id="virtualdomain.movement">
	<title>
	ケーススタディ: ひっこし / 場変 はどうするの？ (書きかけ_o_)
	</title>

<!--
   XXX-TODO 引越しねたが書きかけ つづきを書け！
   レシピ化を！
-->

<para>
ホストを新しくする？ ドメインを変更する？ 他には何かある？
</para>

<para>
ドメインの変更は考えなくても良いか？
ドメインの変更なんてそんなにあるか？
変更するならＭＬも作りなおすような気がする（嘘？）。
いずれにせよ、ドメインの移行はいっぱい直すところが
あるので、そんなに簡単じゃない。
</para>

<para>
ホストを新しくするか？
うむ、これは割とありそうだ。
</para>

<para>
解決しないといけない問題はディレクトリのパスが変わること。
/usr/local/etc/fml/ の変更だけで解決できないか？

いや、include ファイルがこんな風になっているが、
<screen>
"| /some/where/libexec/distribute elena@fml.org"
</screen>
書式変更が必要ではないのか？
</para>

<para>
4.0 から 8.0 へは？
一応、fml.pl は互換性のため fml.pl $DIR でも可で、
libexec/distribute libexec/command など新しいコマンドは
ＭＬ名を引数にとるということにしてある。
</para>

</sect1>


</chapter>
