Creating a List with TOPICS
List topics provide a way to run a mailing list (preferably moderated) where several sub-topics are being discussed in parallel but some List Subscribers are only interested in a subset of the topics. For example, the subject of a list may be an author who has written under several pseudonyms. Some List Subscribers may only be interested in the books by one or a few of the pseudonyms. The keyword Topics= allows list members to only receive the posts of the pseudonym of interest to them. In order to be successful, such a list requires much discipline on the part of the subscribers since they must label their message subjects to indicate the designated topic(s).
TOPICS are not available for the LISTSERV-Lite version so this discussion does not apply.
1. The Topics= List Header Keyword
2. Subscribing to Topics
1. The Topics= List Header Keyword
To create a list with sub-topics, use the Topics= keyword. The List Owner can define up to 11 topics for the list. For example, a list about author Stephen King may have the following coded:
* Topics= King,Bachman,Movies,Novels,Short,Series
WARNING Once the Topics= keyword has been initially coded, you must never reorder the topics in the keyword definition. This could seriously impair the topic capability of your list.
Some people predefine all topics, so they will not be tempted to re-order them later. e.g. * Topics= King,Bachman,Movies,Novels,Short,Series,7,8,9,10,11
LISTSERV remembers which topics users have selected through their ordering in the Topics= keyword. For example, King is "topic number 1" for LISTSERV, Bachman is "topic number 2", and so on. If you want to remove a topic, simply delete the topic word and replace it with a place-holding number. For example, to remove the Movies topic, you would change the keyword to:
* Topics= King,Bachman,3,Novels,Short,Series,7,8,9,10,11
Topic names can contain any character except space, colon and comma. The use of double quotes or equal signs is discouraged, as they require special attention when coding List Header keywords. In addition, topic names may not start with a plus or minus sign, and the words ALL, NONE, RE, OTHER and OTHERS are reserved.
Subscribers label their messages through the subject field. LISTSERV ignores any possible sequence of 'Re:' keywords, and takes anything to the left of a colon as a list of topics, separated by commas. The posting is considered to belong to all the topics listed before the colon. If none of these topics is valid for the list, it is classified in a special, 12th topic, OTHER. If some of the topics are valid but others are undefined, the invalid ones are ignored. The subject field is left unchanged. For example:
Subject: King,Movies: "THE SHINING" on TV Tonight
Messages which should be read by everyone can be posted to the special topic ALL. Topic names can be shortened to any unambiguous abbreviation. In our example, "S" is ambiguous because it could be either "Short" or "Series", but "Se" is acceptable.
There are three methods by which List Subscribers may be configured to receive topics.
a. List Subscribers send a LISTSERV command choosing their topics
b. The List Owner sets topics via the Default-Topics= List Header
Keyword
c. The List Owner sets topics for subscribers via the SET listname TOPICS: command
a. Subscribers Choosing Topics
Subscribers may choose topics by sending in the command
SET listname TOPICS: topicnames
Where topicnames consists of all the topics that the user wishes to receive. These topics will replace any other topics that the user may have been subscribed to previously. For example, if the user had been previously subscribed to King and sent in the command
SET KINGLIST TOPICS: Bachman Movies
they will no longer be subscribed to the King topic.
To add a topic rather than replace existing topics a plus sign is used.
For example:
SET KINGLIST TOPICS: +Bachman +Movies
Would indicate that that the subscriber now wishes to receive Bachman and Movies topics in addition to King topics.
Additionally, a subscriber could use a minus sign to indicate that they no longer wished to receive a certain topic. For example:
SET KINGLIST TOPICS: -Bachman
Would indicate that the user no longer desired Bachman posts.
The plus and minus signs can used in combination:
SET KINGLIST TOPICS: -Bachman +Movies
which indicates that the subscriber wishes to no longer receive Bachman posts and now wishes to receive Movies posts.
If a subscriber wishes to receive all possible topics the following command is used:
SET KINGLIST TOPICS: All
The colon after the keyword TOPICS: is optional, and TOPICS= is also accepted.
Since general discussions which are not correctly labeled will be considered in the OTHER topic, a user must specify OTHER as a topic if they wish to receive it. The ALL topic does not include OTHER posts. If users do not wish to receive posts not labeled correctly then they would omit the OTHER when they subscribe to specific topics.
Finally, it is important to note that topics are active only when your subscription is set to Mail. Digests and indexes always contain all the postings that were made, because the same digest is prepared and sent to all the subscribers.
b. List Owner Setting Topics via the Default-Topics= List Header Keyword
The List Owner may specify the Default-Topics keyword in the list header. This will cause all new subscribers to receive the designated topics. For example, using the keyword setting
* Default-Topics= All
would subscribe all new members to all list topics. It would also indicate that new members will not receive Other posts. That is, posts that are not properly labeled will not be received. To ensure that the new members received everything the setting would be
* Default-Topics= All, Other
To set all new members to a subset of list topics initially, the following setting is an example:
* Default-Topics= King,Movies
If in addition, mislabeled or unlabelled posts are desirable, the following example may be set:
* Default-Topics= King,Movies,Other
c. List Owner Sets Topics via the SET listname TOPICS: Command
The List Owner may also make use of
SET listname TOPICS: topicnames FOR user@address
to set topics for specific subscribers. The usage of this command is similar to the method in which subscribers may set topics individually except that the owner may use wildcards in the user@address field.
If your list is running on LISTSERV Version 1.8d, you may be able to use an online WWW interface to set subscriber topics in a handy "checkbox" fashion. For example, Ease-Home WWW List Management Interface.