Nisto Products Cree Mac WWW FAQ Standards Mail Lists Nisto

Mail List Command Specification:
Meta Syntax

Last update: April 12, 1997
Grant Neufeld - <grant@acm.org>

This sub-document discusses possibilities for a general meta-syntax to describe the various list processor command syntaxes.


Variable Fields

Note: The discussion of variable fields in URLs is going to move from this proposal to a more broader discussion of the mailto URL in general (and possibly other URL protocols). Implementation of variables in the command URLs used by this proposal will be dependent upon the specification of variables in the general mailto URL standard.

Command URLs may contain references to the user's name, email address, or other client defined arguments through the inclusion of variable fields.

Variables (such as the user's email address) are to be enclosed in a special variable delimiting character pair.

The delimiters to be used square brackets [].

For example, a list subscription command requiring the user to supply their real name within the command ("subscribe maillist [Your Name Here]") could be described as follows:

mailto:control@server.com?Body=subscribe%20maillist%20[Your%20Name%20Here]

Note that it's up to the client software to determine what to put into the variable. If uncertain, the user should be prompted to enter the variable argument.

Reasons for not including the brackets as plaintext rather than hex-encoding them:

Table 1: Standard Variables (although any URL valid text may be used)
Variable Label - Description
Your Name Here - user's real name
Your Email Address - user's email address (may need to prompt the user to select an address if they have multiple addresses supported by the client software)
Your Password - user's password (for the listserver)


Command Abbreviations

These are used to identify which types of commands the list supports.

The abbreviations consist of three characters from A to Z (generally uppercase, although applications should treat them as case-insensitive).

The abbreviation must be followed by the specific terminology used by the server enclosed in round brackets ("()"). E.g., a server that uses the term "remove" for the unsubscribe command, would list "UNS(remove)".

If using an URL to describe a syntax, it must be enclosed in angle brackets as in "SUB<http://server.com/mylist.cgi?action=subscribe>".

There may be multiple entries for a single command. E.g., "FAQ(get faq listname), FAQ<http://server.com/listname/faq.html>". The user or client application will have to choose which one to use based on their preference.

Table 2: Command Abbreviations
Abbreviation - Description
SUB - subscribe to list
UNS - unsubscribe from list
DIG - receive digests
REG - regular messages, not digest format
ACK - acknowledgements (sender receives messages they've posted)
NCK - no acknowledgements
HLP - get help file
INF - get info file
PSW - set password
GET - get a file from the archive of this list
IND - index, to retrieve back digests
TOP - topics only
FUL - full headers
SHH - short headers
FAQ - get the FAQ for this list
WHO - get the list of subscribers for this list


List Attributes

These are used to identify various aspects of the list.

Table 3: List Attributes
Abbreviation - Description
PUB - public list
PRI - private list
MOD - moderated list
ANN - announcements only list
NPO - no posting allowed to this list
NWS - newsletter (periodical) list
ADV - advertising list
FIL - file distribution list
ENC - list includes/allows file enclosures
NOE - enclosures not permitted
PWR - password required for commands
ACH - you MAY archive this list
NOA - you may NOT archive this list


Not all of the protocols described here are intended for actual use at this time. Only those portions which undergo some form of peer-review or standards formalization should be deployed.
This document may be redistributed provided this copyright notice remains intact.



Copyright ©19971998 Grant Neufeld.
Nisto and nisto.com are trademarks of Grant Neufeld.