List Configuration
==================

All aspects of list configuration and most aspects of Majordomo
configuration are alterable remotely using the configuration interface.
This interface allows single variables or sets of variables to be retrieved
and modified individually, and for variables to be set without first
retrieving their value.  The result of a variable retrieval is a set of
commands ready to be edited and mailed back.  The variables themselves
are self-documented (see 'configshow' and 'configedit' below).

For any of these commands you may specify "GLOBAL" as the listname to
work with global configuration variables.

The configuration interface makes use of three commands: configshow,
configset and configdefault.  In addition, the shell interface (for local
users) supports the configedit command.

Note that the old Majordomo1 commands are not yet supported, but they
essentially translate like so:

  config      -> configshow=comments list ALL
  newconfig   -> not required; output of configshow contains appropriate
                 commands
  writeconfig -> not required; config file is stored internally in a manner
                 that makes this unnecessary


configdefault list variable
---------------------------
  The configdefault command sets the value of a variable back to its
  default value.  Not only that, but variables set to their default values
  will track changes made to the defaults file, so that a change made to
  the defaults file will update the values of the relevant variables in all
  lists that have not set the variables otherwise.

    Example:  configdef scooters restrict_post


configedit list variable (-comments)            NOTE:  Shell interface only
------------------------
  Retrieves the value of the variable and opens an editor on it.  When the
  editor is exited, the variable is set to the new value.  If the
  'comments' argument is used, explanatory information about the variable
  will be included in the output.

  Multiple variables can be edited by listing them separated by commas, and
  groups can be specified with upper case letters.  Listing no variable
  name at all retrieves the complete list of variables.

  The editor to use is chosen from the EDITOR environment variable.

    Examples:  configedit-comments scooters restrict_post
               configedit scooters
               configedit scooters restrict_post,access_rules


configset list variable = value
configset list variable
-----------------------
  Sets the given variable to the given value.  A single value can be
  specified directly on the command line after an equals sign, or the
  usual '<< TAG' include until tag or '<@ part' include from part
  syntaxes can be used.  (See the 'parser' help topic for more
  information on this.)

  The value will be syntax-checked against the allowable values for the
  given variable.

    See also:  The 'parser' help topic


configshow list variable (-comments)
------------------------
  Retrieves the value of the given variable.  If the 'comments' argument
  is given, explanatory information about the variable will be returned
  as well.

  Multiple variables can be retrieved by listing them separated by commas,
  and groups can be specified with upper case letters.  Listing no variable
  name at all retrieves the complete list of variables.

  The response is in such a form that it can be fed back to the parser
  verbatim.  It is essentially a series of configset commands, which may
  be edited at will and sent back to the parser.

  A sample set of configshow commands:

    >>>> configshow test-list delivery_rules
    configset test-list delivery_rules << ENDAAA
    ALL
    numbatches=1
    ENDAAA

    >>>> configshow=comments test-list token_lifetime
    # token_lifetime
    # (7)                  [integer] <access,token>
    # The number of days that a token will be allowed to live without being
    # acknowledged (either approved or rejected).  Tokens existing longer
    # than this many days are deleted at every daily trigger.
    configset test-list token_lifetime = 7

  The default values is shown in parentheses, the data type is shown in
  square brackets, the allowed values (for 'enum' types) is shown between
  slashes, and the groups that the variable belongs to are shown in angle
  brackets. Occasionally, the produced configset commands will be broken
  across lines with a backslash; this is intended to reduce the change of
  line wrapping by some mailers which do not allow it to be turned off.

  Note that this can be pasted directly into a reply and edited; the only
  additional command required is a "default password your-password" command
  at the beginning of the reply to set a default password for all of the
  configset commands.  (This is required because each configset command is
  not shown with a leading "approve your-password", as this would make the
  lines too long.)

  Note also that only the variables that can be seen by the current
  authorization level will be returned.  This means that with no
  authentication at all, a small list of variables will still be visible
  (though of course they cannot be modified).

  Finally, note that not all per-list variables can be modified by the list
  owner.  Some require global priviliges.

    Examples:  configshow-comments scooters
               configshow-comments scooters restrict_post
               configshow scooters restrict_post,access_rules
