Core Utility Help

MR-access

Controlling Access to Mail Recipients

-------------------------------------

:is_writable_by(one) - one may alter/add/remove saved messages

:is_readable_by(one) - one may read messages.

:is_usable_by(one) - one may send to this list

By default, these verbs refer to the following properties:

writers - list of players other from the owner who can do anything

readers - if == 1, indicates a public mailing list.

list of additional readers (by default anyone who receives mail

sent to the list can read the saved messages).

moderated - if false, indicates a normal mail recipient everyone can send to.

otherwise this should be a list of approved senders.

Terminology:

A mailing list is "public" if everyone can read it.

A mailing list is "moderated" if not everyone can send to it.

Note that while being able to write to a recipient implies being able to read from it or send to it, neither of read-ability or send-ability implies the other.

It is highly recommended that if you are creating custom mail recipients with variable reader/sender lists, i.e., you find you need to write your own :is_readable/usable/writabe_by verbs, you are best off if such verbs are of the form

return pass(@args) || << your_test(args[1]) >>

and have .writers == .readers == {} and .moderated == 1. This will ensure

(1) wizards having write access

--- necessary in order for :receive_message to work

(2) writers being able to read and send (the converse being a ludicrous

situation),

(3) persons on the mail_forward list of someone with reader access will also

have read access (convenient).