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 --
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
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
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 "
unsubscribe" commands using the user's "primary
address" (as defined by the
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
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:
infofiles can be disabled, granted only to list members, or completely unrestricted. List names can even be hidden from view based on the originating address.
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.
-digestform, 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
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
unsubscribe command and issued to Majordomo
$list.info file is sent to all new subscribers,
or returned by request via the
info command. Presence
$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
$list.info file. If changes are submitted, a
newinfo command is issued to Majordomo.
$list.intro file is sent to all new subscribers,
or returned by request via the
intro command. Presence
$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
$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
command is used instead. The exception to this is if MajorCool
detects the implementation of the "master password file" technique
list.pass linked to a read-only
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
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
list_create_cmd), the collected data can be
passed on to an external program for more flexible and automated
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
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
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
Sort Subscriber List in BROWSE and MODIFY Views
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