>WRD> I'm finding that a lot of the documentation would have helped me
>WRD> figure things out quicker if it included examples here and
>WRD> there...would it be useful at all for me to work on some of the help
>Most definitely. Hack them up to your heart's desire. If you can do CVS
>that would really be the easiest way (so you could just mail patches) but
>If you want to just rewrite the files, feel completely free.
Okay! Here's a preliminary effort, just to see if people think this is a
step in the right or wrong direction (or a little of both). I've attached
an (incompletely) edited version of admin_commands at the bottom of this
message. I'd like to know if people think it's easier to read, harder to
read, whether the examples would be useful to new listowners, etc.
Also, I was thinking it'd be nice if a person who sent the command:
...got back a list of admin subtopics, rather than an error. Could the
following be returned?
Available Admin Help Subtopics
admin commands - Overview of available administrative commands
admin configuration - Overview of configuration variables and methods
admin passwords - Information on Majordomo security and passwords
Majordomo2 Administrative Commands
This is a basic overview of the commands and features available for use by
the list owner. Commands are always given to the parser in this format:
command list target
The target(s) may vary depending on the command, but they always follow the
listname. Many commands also have arguments available to modify their
behavior. Commands with arguments should be sent in the format:
command=argument list target
Multiple arguments may be separated by a comma, like so:
command=argument1,argument2,argument3 list target
Examples of the commands that follow will assume an imaginary list named
'scooter-list' using the master password 'vespa'.
approve password command
This runs the given command (and arguments) with the supplied password.
Essentially any command can be executed with privileges using the approve
command. The 'default' command described below can make it much easier
to approve several commands at once.
Most admin commands are of little use without "approve" and the
appropriate password. If an admin command fails, check to make sure
you are approving it correctly.
Example: approve vespa subscribe scooter-list firstname.lastname@example.org
See also: default
auxsubscribe list sublist address
auxunsubscribe list sublist address (regex, allmatching)
auxwho list sublist
Adds/removes address to/from the named sublist of the given list, or
shows the contents of the named sublist.
See also: The 'admin sublists' topic for more information on sublists
configdef list variable
Sets the variable back to the default value. Note that this causes the
variable to track changes in the default value whenever they are made; a
variable can be fixed to the current default value by setting it to that
configedit list variable (comments) [Shell 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 scooter-list restrict_post
configedit scooter-list 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
The 'default' command described below can make it much easier to submit
several configset commands at once.
See also: default
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
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.
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 scooter-list
configshow=comments scooter-list restrict_post
configshow scooter-list restrict_post,access_rules
createlist list owner (nocreate, noheader, force, quiet)
Creates the internal structures needed to maintain a list with the given
name. This will also suggest the necessary MTA configuration if the MTA
in use is supported -- for example, if sendmail is the MTA in use, a
set of sendmail aliases will be generated. Note that Majordomo does not
(yet) handle configuring the MTA itself, although it generally provides
data which can simply be pasted into the necessary configuration file.
If the list is 'GLOBAL', the setup for the Majordomo address is given.
If the list is 'ALL, a complete set of aliases is given.
Arguments include the following:
force: If the list already exists, the 'createlist' command will fail
unless the 'force' argument is used. Note that the owner address you
enter when you force the list creation will replace any previous owner
addresses associated with the list.
nocreate: This argument will cause 'createlist' to suggest the MTA
configuration without actually creating the list; the command will not
fail if the list already exists.
noheader: The instructional information that precedes the suggested
MTA configuration info will not be displayed.
quiet: No introductory mail will be sent to the list owner. (This
is not currently implemented in any case.)
Examples: createlist scooter-list email@example.com
createlist=noheader,quiet scooter-list firstname.lastname@example.org
default variable value [email and text parser only]
Sets a default variable for the parser. The variable can be either a
password or a list.
Setting a default password will implicitly do the equivalent of 'approve
password' on all following commands. This makes it especially useful
when returning the output of a 'configshow' command to the parser to
change some variables; simply add the 'default password' command to the
beginning of the message or file, and the parser will accept the
'configset' commands as written.
Setting a default list makes the list an optional argument for all
commands which take one (excepting the createlist command). Note that
this is not without ambiguity, as the parser cannot always tell when
the default list is implied. When running at the -request address, the
parser generally starts with a default list in place.
If the value is omitted, the default setting is removed.
Both of these commands make it much simpler to submit multiple commands
to the parser in one fell swoop. Essentially, it makes all of the
following sets of commands equivalent:
approve vespa configset scooter-list reply_to = email@example.com
approve vespa configset scooter-list resend_host = awenet.com
approve vespa configset scooter-list subject_prefix = [Scooter List]
approve vespa subscribe scooter-list firstname.lastname@example.org
default password vespa
configset scooter-list reply_to = email@example.com
configset scooter-list resend_host = awenet.com
configset scooter-list subject_prefix = [Scooter List]
subscribe scooter-list firstname.lastname@example.org
Or even better:
default password vespa
default list scooter-list
configset reply_to = email@example.com
configset resend_host = awenet.com
configset subject_prefix = [Scooter List]
This updates the filespace information database. Since Majordomo needs
to know more information about a file than is provided by the file system
(a description and the required MIME types, for instance), it keeps
additional data in a simple database. If files are added or removed by
means other than Majordomo commands, the database must be updated with
the new information by way of this command.
Example: filesync scooter-list
Sends a message to the given list. Note that the message must be fully
formed, with all necessary headers. Majordomo will not add omitted
headers, nor does it check the validity of the message. All of the
normal resend access checks apply.
This enables a Majordomo list to be run without doing any MTA
configuration at all. The list will not, however, be terribly
functional. This will probably work for announcement lists, though.
put list file subject (data)
put=data list file content-type charset content-transfer-encoding subject
Uploads a file to the given list's filespace. The file will be assumed
to be text/plain with 8bit encoding.
If the "data" mode is given, the command expects additional data about
the file; these should be legal MIME values for those fields.
Regenerates the canonical forms of addresses in all of list's address
A list keeps three forms of a subscriber's address:
- The full form, including comments. This is what shows in who reports
(unless the user elects to hide parts of his address).
- The stripped form (comments removed). This is what mail is sent to.
- The canonical form. This is the result after various address
transformations have occurred. The transformations are owner-
specified and can do such things as specify that all hosts under a
domain are equivalent, that everything in the user portion of an
address after a plus sign is ignored (so the sendmail mailbox
specifier works) and that case is unimportant.
When the set of transformations is changed, the databases need to be
regenerated with this command so that the canonical forms reflect the
Note that if multiple addresses transform to the same thing under the new
transformation rules, the duplicates may be lost.
See also: the 'config addr_xforms' topic for more information on
who list regexp
Returns all members of the list whose addresses match the given regular
expression. The match is done insensitive to case, and the surrounding
'/' delimiters are not required.
William R. Dickson - System Administration firstname.lastname@example.org
Northwest Nexus - Professional Internet Services Bellevue, WA USA
Voice: 425 455-3505 Web: http://www.nwnexus.com/ Info: email@example.com