MajorCool is a Web interface to the Majordomo mailing list management tool. Whereas Majordomo is a rather unforgiving command-driven application that utilizes e-mail for effecting changes, MajorCool adds a Web-based front-end to provide a user-friendly interface to list manager operations.
Rather than focusing on command syntax, MajorCool is designed around the practical activities of mailing list access such as browsing, modifying, creating, and deleting.
Each of these modes are optional, since the site administrator
may elect to disable support for certain modules. They are accessed
through the URL that MajorCool was installed as --
/cgi-bin/majordomo
by
default. In addition, multiple installations of MajorCool can
be supported on the same system, each with its own unique URL. For
instance, it is not uncommon to see the BROWSE and MODIFY modules
split into separate MajorCool installations. (If some actions
are unavailable in your instance of MajorCool, check with your
site administrator to see if there might be alternative URLs
available.)
The selection of actions is made from a menu-based interface (with the desired modules chosen via a button-bar), or full-screen with all actions visible on the main page. The display of menu- vs. full-screen is defined by a per-user Preferences setting. Since the menu interface is the default presentation, all references to MajorCool actions in this guide will be shown relative to menu mode. Pressing a menu button will take you to the appropriate module; the current module is indicated by a "depressed" (gray) button. What follows is a description of each available mode.
BROWSE mode is the act of viewing list information and/or changing subscription status to the lists served by Majordomo. In order for the browsing process to begin, the user is first queried for his/her e-mail address. The user also has the option at this time to limit the browsing to:
To say that the user is prompted for an e-mail address may be an
over-simplification, depending upon the installation. Although an
e-mail address is required, how that address information is obtained
is ultimately up to the site administrator.
MajorCool has the ability to query external address mapping
functions via it's siteaddr()
interface, so it may be that
a particular site prompts instead for a username, letting the defined
mapping function produce a valid e-mail address in return.
If "QuickView Mode" is selected prior to invoking the BROWSE, list subscription tests will be disabled, thus speeding access to the list overview at the cost of disabling subscription changes at the global list level. Even when in QuickView mode, the user will still have the ability to alter subscription choices at each individual List Detail view.
When the "go" button is pressed, the e-mail address (or other
appropriate value) is processed by the defined siteaddr()
function to produce an address search string. This will be used to
compare against the addresses in the Majordomo lists. A set
of valid list-names will be displayed as a result. Since a
siteaddr()
function can produce an address pattern as
well as a fixed string, the matching method allows MajorCool
to catch multiple addresses that a user might be subscribed under
rather than just a single address as is typical for Majordomo.
The result of a BROWSE action is to display a set of list names (matching the selected criteria) as a table of checkboxes, list names, and list descriptions. The list names are hyperlinked to allow a drill-down to additional list details.
After modifying subscription selections via checkbox, the user
applies the changes and the submission is compared against the last
known subscription selections. Any changes will be converted into the
appropriate Majordomo "subscribe
" or
"unsubscribe
" commands using the user's "primary
address" (as defined by the siteaddr()
results).
If subscription tests were disabled via the "QuickView" option, there will be no checkboxes on this screen to indicate membership or allow the user to toggle subscriptions. Subscription changes, however, are available at the Details view for each list.
Drill-down to a particular list shows additional list information
such as the list-owner address, access to the list's info
and intro
files, list membership, and other subscriber
details. Depending on the security restrictions of the browsed list and
how much the site administrator "trusts" its users, selected list details
will either be presented onscreen or returned to the user via e-mail.
A button is available in the Detail view to toggle subscription status, allowing the user to subscribe using the primary address or unsubscribe the current subscribed-as address.
When viewing list subscribers, if the list contains other lists as members ("nested lists") the entries will be shown in bold or as hyperlinks, depending upon current preference settings. If linked, further drill-down will access the detail or subscriber screen for that nested list (also controlled by preferences).
If the user browsing the the list has knowledge of the admin password, the Details screen also provides an entry-point into the MODIFY mode for the displayed list.
The MODIFY module provides access to the list-manager functions for a selected list. The user is prompted for a list name (via typed entry or pull-down menu) and the list password. The list administrator has the option of choosing to modify the:
When the "go" button is pressed, the password is validated and, if successful, the user is given access to one of the following list configuration functions:
From the CONFIGURATION OPTIONS screen, administrators can change configuration items such as list description, subscription policy, approve password, and much more. HTML buttons and other elements are used to simplify configuration for the beginner. Majordomo configuration option keyword entries are heavily commented, and MajorCool provides onscreen display of this field-level "help".
Admins can access a simplified set of list config keywords (defined by the site owner), the entire set of Majordomo keywords, or only those pertaining to a specific subsystem.
Although it is not the intent of this guide to provide a Majordomo tutorial, here are some list-management concepts to be aware of when configuring your list. Options in the Majordomo list configuration file control behaviors such as:
info
files can be disabled, granted only to list members,
or completely unrestricted. List names can even be hidden from view
based on the originating address.
help
or
unsubscribe
) and forwards any such message to the
moderator for a decision as to whether the message is actually
intended for the list. Messages that do not trigger the administrivia
filter are sent directly to the list with no intervention.
index
and get
commands.
-digest
form, allowing
users to subscribe to whichever delivery method they prefer.
When changes are made to the config file and submitted, the update
is carried out by sending a "newconfig
" command to
Majordomo.
Additional buttons are provided on the Options screen that will take
the administrator to the other areas that can be modified (e.g. the list
intro
file or the list itself).
The SUBSCRIBER ADMINISTRATION screen allows the list admin
to view and modify the members of the list. Any changes submitted
are converted to the appropriate subscribe
or
unsubscribe
command and issued to Majordomo
with the approve
qualifier.
The $list.info
file is sent to all new subscribers,
or returned by request via the info
command. Presence
of a $list.intro
file will override the use of the
$list.info
in the new subscriber greeting.
The INFO FILE page allows the list admin to view and modify
this $list.info
file. If changes are submitted, a
newinfo
command is issued to Majordomo.
The $list.intro
file is sent to all new subscribers,
or returned by request via the intro
command. Presence
of a $list.intro
file will override the use of the
$list.info
in the new subscriber greeting.
The INTRO FILE page allows the list admin to view and modify
the $list.intro
file. If changes are submitted, a
newintro
command is issued to Majordomo.
If the installed version of Majordomo supports it, MajorCool will also provide an APPROVAL QUEUE option. The "approval queue" is where Majordomo stores messages that were sent to the list but require moderator approval before posting (e.g. moderated lists, administrivia checks, etc).
Normally, these messages are returned in their entirety to the moderator, who must then manipulate mail headers prior to sending the message back to the list. MajorCool eliminates the need to play with e-mail and instead offers push-button approval via the Web.
Examining the queue will show all pending messages, as identified by the sender, subject, date, and message-id of the mail. The administrator has the option of approving the message (passing it on to the list), deleting the message (no mail sent), or holding the message for later processing.
The act of approving the message simply sends the mail on to the
list with the appropriate Approved:
header line added.
Approved messages are removed from the queue once processed.
If the site administrator has so chosen, the changing of the list-admin password can be moved to a "safer" double-entry method in this form. This section is not present if the option is disabled.
Normally, the password change is implemented as a config file
update via the newconfig
command. However, if
MajorCool detects the presence of a legacy
list.pass
file, the deprecated password
command is used instead. The exception to this is if MajorCool
detects the implementation of the "master password file" technique
of list.pass
linked to a read-only
MASTER.PASSWD
.
If the list is a digest, the owner is provided with a button to create a digest -- combining all unsent messages into a digested collection -- and sending that mail to all digest subscribers.
The final form available at the list configuration level is the
SEND FULL CONFIG BY EMAIL which simply issues a config
command to retrieve the current configuration file in the user's name.
The CREATE form is provided to allow users and
administrators to request that a new Majordomo list be created.
The user is prompted for the list name, description, admin password,
and list owner address. This request will be sent to the
Majordomo-owner
address. Alternatively (depending on the
setting of list_create_cmd
), the collected data can be
passed on to an external program for more flexible and automated
request processing.
The list name should consist of alphanumeric characters (a-z, 0-9), underscores (_), and hyphens (-). Only lowercase names are allowed, since sendmail will convert any address to lowercase prior to delivery.
The list description is a one-line text phrase to help clarify the purpose of the new list, since the character restrictions imposed on list names can often make them appear quite cryptic.
Every list must have a password associated with it. This password controls access to the list maintenance functions. No one can make any changes to the list (approving the addition/removal of members, updating the configuration, etc) without knowing the password. Do not pick obvious words, and if you must write it down, keep it in a safe place.
There must be an email address for the list owner. The list owner is the person who will have the duties of controlling any aspects of list operation which are not handled automatically. At the most basic level, these duties will include dealing with errors and mail delivery failures. Depending upon the configuration of the list, tasks may also include such actions as moderation and administrivia filtering.
The DELETE form is provided to allow administrators to request
that an existing Majordomo list be deleted. The user is
prompted for the list name and admin password. This request will
be sent to the Majordomo-owner
address. Alternatively
(depending on the setting of list_delete_cmd
), the
collected data can be passed on to an external program for more
flexible and automated request processing.
The PREFS module is used to provide per-user Preference settings
to all MajorCool users. Preferences are implemented via HTTP
"Cookies" and are persistent across sessions. Settings are
available to control admin keyword help, sorting options, and even
module presentation in full-screen or menu modes.
Allow Browser To Cache Pages
Enable Style Sheet Font Control (Where Supported)
Default Font Face & Point Size
Use JavaScript Enhancements
Sort Subscriber List in BROWSE and MODIFY Views
by_siteaddr()
function).
Use 'Menu' Style User Interface
Default Action for Menu Mode
Default Screen Width
Use Images for Form Buttons
Tool Tips on Button Bars
Show Nested Lists As Hyperlinks
Link to Subscribers When Following Nested Lists
Show Line Numbers In Subscriber List
Use 2-Column Table For Configuration File
Show Help With Configuration File Fields
Show Majordomo Subsystem For Each Configuration Field
Maximum Size Supported By Browser TextArea