ユーザの登録、削除について
ユーザの追加と削除は、どの変数に対して行なうべきでしょうか?
ユーザの追加と削除は、
変数 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; の反省がいかされています ;-)。
追加つまり書き込む(WRITE)処理対象は一つに限定しなくてはいけません。
よって、
primary_*_map
一つに対して行なうべきです。
読む(READ)のであれば複数あってもかまいませんが、
WRITE 操作対象を *_maps でもよいことにしてしまうと、
複数の map のどれに書き込むのかが曖昧になってしまします。
逆に、
削除処理は、
一見
*_maps が操作対象で問題ない気がしますが、
実は駄目です。
消し過ぎになってしまうことがあるからです。
特に問題になるのは、
*_maps に「権限の異なる map 」が混在している場合です。
たとえば、
member_maps はデフォルトで、リモート管理者を含んでいます。
member_maps = $primary_member_map
$admin_member_maps
そのため、member_maps に対して削除を試みると、
勢いあまってリモート管理者の分も削除する可能性があります。
こういった曖昧さを避けるために、
primary_XXX_map
と
XXX_maps
という分離が考案されたいというわけです
(ようするに &fml4; の反省がいかされています ;-)。