<!-- -*- mode:text coding:euc-jp -*-
   $FML: ml.hier.sgml,v 1.2 2008/08/18 02:23:59 fukachan Exp $

   階層化されたＭＬ: $member_maps $recipient_maps をよろしく書く

-->

<sect1 id="config.hier.ml">
	<title>
	ケーススタディ: ＭＬの階層化
	</title>

<para>
メンバー制限をする普通のＭＬ群があるとし、それらの階層化を考えます。
(
<ulink url="http://www.oreilly.co.jp/BOOK/fml/">
fml バイブル
</ulink>
にあるように)
たとえば営業部に営業 1、 2、 3 課がある場合が、これに該当します。
</para>

<para>
まず、それぞれの課用に sales-1、 sales-2、 sales-3 ＭＬを作り、
各ＭＬのメンバーは、それぞれの課で管理してもらうことにします。
また別途、営業部全体の連絡用に sales  ＭＬも作り、
sales ＭＬへメールを送信すると、
sales-1 sales-2 sales-3 のメンバーにも配送されるようにしましょう。
</para>

<para>
設定は簡単で、sales ＭＬの配送先を増やすだけです。
sales ＭＬの config.cf で
<screen>
recipient_maps 	+=	$ml_home_dir/../sales-1/recipients
recipient_maps 	+=	$ml_home_dir/../sales-2/recipients
recipient_maps 	+=	$ml_home_dir/../sales-3/recipients
</screen>
とすれば、sales-1,2,3 すべてのメンバーに配送されます。
</para>

<para>
投稿可能なメンバーも同様に
<screen>
member_maps 	+=	$ml_home_dir/../sales-1/members
member_maps 	+=	$ml_home_dir/../sales-2/members
member_maps 	+=	$ml_home_dir/../sales-3/members
</screen>
としてください。
</para>

<para>
社内用ＭＬの場合は誰でも投稿できるように、
$member_maps を変更するのではなく
<screen>
article_post_restrictions	=	permit_anyone
</screen>
と設定して「誰でも投稿可能」としてしまうのもアリでしょう。
</para>

<para>
ここではファイルで管理する例を取り上げています。
これは簡単で、すぐに実行できるというのがよいところです。
</para>

<para>
しかしながら、
MySQL なりで組織図とメール配信先リストを管理するのが現代的でしょう。
準備も保守も、それなりに必要となりますが、
すでにそういった認証システムがあるなら、
それと連携するように設計してみてください。
</para>

<para>
ちなみに &fml8; は MySQL PostgreSQL LDAP との通信が可能です。
</para>

</sect1>
