NONE TITLE 6.html
Keywords: NONE TITLE,fml, flexible mailing list manager, not listserv style but fmlserv emulates listserv or majordomo style

[PREVIOUS CHAPTER] [NEXT CHAPTER]

6 Moderator

    6.1	Overview

    In Moderator mode (moderation for posted articles)

    	1 posted mail to ML is not delivered to members.
    	2 the mail is forwarded to moderators.
    	3 moderator certifies the content. If he accepts it,
    	  he sends back a keyword of certification to ML server.
    	  FML server (described below) notifies the keyword/password to you.

    FML runs under moderator mode if in config.ph

    	$PERMIT_POST_FROM              = "moderator";

    The menu shown in "makefml config " is

       [POST]

       1    PERMIT_POST_FROM                   moderators

    We can apply moderation for command mails.  This is of no use to
    certify command requests? The current FML provides commands
    certification procedures sa the same as posting mails.

       [COMMAND]

       3    PERMIT_COMMAND_FROM                moderators

    6.2	Certification ($MODERATOR_FORWARD_TYPE == 2 default)

    FML has several kinds of certifications. The type differs following
    $MODERATOR_FORWARD_TYPE. When $MODERATOR_FORWARD_TYPE is type I, you
    send back a submitted mail to ML with a field "Approval:
    remote-administrator-password" in the header.  When
    $MODERATOR_FORWARD_TYPE is type II, you receive the following mail
    from FML when an article is submitted.

       Moderated $MAIL_LIST (elena@fml.org) receives a submit from

          fukachan@fml.org.

       Please check it. If you certify the following article,
       please send to elena-ctl@fml.org
       the following line (only this line!)

       moderator certified 199711032027.709982

       ------- Forwarded Message

       a submitted mail

       ------- End of Forwarded Message

    If the moderator certifies the content, he/she sends the "moderator"
    keyword line to elena-ctl@fml.org.

    moderator certified 199711032027.709982

    Who is a moderator? When $MODERATOR_FORWARD_TYPE is type II, it is
    members which the keyword and notification is sent to. In default a
    moderator is the ML maintainer, $MAINTAINER. If the file
    $DIR/moderators exists, the forwarded mail described above is sent to
    members in a list, $DIR/moderators. Hence people who receive the mail
    are moderators since a password (one time) is seen in this mail. When
    $MODERATOR_FORWARD_TYPE is type I, moderators are people who can know
    the password to add "Approval:" field.

    6.3	How to Certify ($MODERATOR_FORWARD_TYPE == 1)

    The forwarded mail is sent to $MAINTAINER or members in
    $DIR/moderators. When $MODERATOR_FORWARD_TYPE is type I, you should
    send back remote administrator password with Approval: password in the
    header.

    The problem is to use password in the header. When an error occurs,
    postmaster can read a password in a header.

    Not to use Approval: field, FML provides "admin forward" command such
    as:

    	admin forward

    	admin forward
    	certified article sent to ML

    Example:

    	admin forward

    	admin pass approval-password
    	admin forward
    	mail body (certified article sent to ML)

    6.4	How to Certify ($MODERATOR_FORWARD_TYPE == 3)

    Type III is a variation of type I. The mail from a moderator pass
    through without certification. The mail with Approva: password is not
    checked.

    See also "admin forward" command.

    6.5	classify members to 3 groups based on trust-ness

    Consider to split members off to 3 groups such as

    group 1: moderators
    group 2: trusted omembers but not moderators
    group 3: untrusted people

    Moderator mode described above cannot provide 3 calss trust-ness.
    Here we implement it by a hook.

    1. set up moderator mode ML.

    	$PERMIT_POST_FROM  = "moderator";

    2. prepare $DIR/priv which is a list of trusted members (group 2).
       The list syntax is the same as members, actives ...

    3. append the following hook to config.ph (append it to cf and
       re-create config.ph by "make config.ph" etc..).

    $START_HOOK = q#
         $PRIV_LIST = "$DIR/priv";
          if (&CheckMember($From_address, $PRIV_LIST)) {
             $PERMIT_POST_FROM  = "members_only";
       }
    #;

    6.6	Expire moderator queue

    	$MODERATOR_EXPIRE_LIMIT (default 14 == 2 weeks)

    expire moderator mail queue

[PREVIOUS CHAPTER] [NEXT CHAPTER]