ユーザの追加と削除は、 ともに「primary_*_map に対して」 おこないます。
たとえば、リモート管理者は primary_admin_member_map と primary_admin_recipient_map の両方に アドレスを追加します。 削除の際は、 primary_admin_member_map と primary_admin_recipient_map から アドレスを削除します。
操作対象を admin_member_maps と admin_recipient_maps にしてしまうのは問題があります (ここには fml4 の反省がいかされています ;-)。
追加対象は一つに限定しなくてはいけません。 だから、primary_*_map 一つに対して行なう。 操作対象が *_maps では複数の map のどれに追加してよいのか曖昧です。
逆に、削除は、いっけん *_maps が操作対象で問題ない気がしますが、 実は駄目です。消し過ぎになってしまうことがあるからです。 特に問題になるのは、*_maps に「権限の異なる map 」が混在している場合です。
たとえば、member_maps はデフォルトで、リモート管理者を含んでいます。
member_maps = $primary_member_map $admin_member_mapsそのため、member_maps に対して削除を試みると、 勢いあまってリモート管理者の分も削除してしまうことになるというわけです。
こういった曖昧さを避けるために、 primary_XXX_map と XXX_maps という分離が考案されたいというわけです (ようするに fml4 の反省がいかされています ;-)。
author's homepage is www.fml.org/home/fukachan/.
Also, visit nuinui's world :) at www.nuinui.net.
For questions about FML, e-mail <fml-bugs@fml.org>.