The mlist program at MMC

The Main Screen
Main Menu
Listings
The Report Screen
Report Menu
reg and mlist - To and Fro

The Main Screen    

On invoking 'mlist' you see these fields:

Last
First
Sanskrit
Sex
Preferred
A read-only field. This is how the person wants to be addressed. See 'Cycle' below.
Addr1
Addr2
City
State/Province
Zip/Postal
Country
Home
Work
Cell
Email
Comment
This is available for editing. It is also filled in automatically with a program name when this person registers.
Affiliation
A series of characters signifying how this person is affiliated with the center/fellowship. The meaning of each character is shown below the field. You can edit the Affiliation field directly by typing 'F' for the the 'aFfil' command. It might prove useful to print the Affiliation list and keep it by your side.

Four affiliations are reserved for use by reg:

B
Sponsoring member of the Hanuman Fellowship.
C
Life member of the Hanuman Fellowship.
S
Former Staff or YSC Participant - not in good standing.
$
This person has bad credit. Beware.
Three affiliations are reserved for use by mlist:
f
Include this person on the phone list.
x
Do not include this person on any mailings at all (email or paper).
9
Do not send email to this person.
And some dates:
HF
Path
Land
Expiration dates for Hanuman Fellowship, Pathways, and Land Membership.
Enter
Update
These dates of initial entry and most recent update are maintained automatically.

Main Menu    

At the bottom of the main screen are a series of menu choices. Choose one by typing the capitalized letter in the word. Each choice is explained in turn below:
Next
Move to the next record. The default order is by last name. This can be changed with Other-Order.
Back
Search for a record by a prefix you give. The field searched on depends on the order set in Other-Order.
Add
Add a new record in the mailing list.
Edit
Edit all the fields of the record. You can press F8 (or equivalently control-W) to finish early rather than hitting return through all the fields.
Cycle
This command is useful for people with sanskrit names or for organizations whose names do not fit well within the normal personal name scheme. Choosing 'Cycle' alters how the person's name appears on mailings. All combinations of first, last and sanskrit are offered. Keep hitting 'C' to cycle through them. The current setting is shown and highlighted as the "Preferred" name.
aFfil
Edit the affiliation field directly. Choose this by typing 'F'.
List
Goes to the listings screen. See below.
Partner-Go
Go to the partner of the current record.
Partner-Add
Add a new record as a partner to the current record.
Partner-Join
Find a partner for the current record from existing records. To move around you have menu items that should be familiar: Next, Back, Search. When you have located the one there is the Found! menu option. If you cannot find a suitable partner you can always Quit.
Partner-Separate
Separate the current record from its partner. This step requires confirmation.
Other-Delete
Delete the record after confirmation.
Other-Order
Change the order in which you see the records. This effects the menu commands Next, Back and Search. These are the ordering choices:
Name
Sanskrit
Zip
Phone
Address
This one is sort of funny. The order is really by the digits in the address fields plus the zip code plus the first letter of the address.
Email

If current ordering is not "Name" then it is shown in the upper right hand corner of the main screen.

Other-Affil
This is where you maintain the list of affiliations - their codes and descriptions. There are the usual options: Next, Back, Search, Add, Edit, Delete, and Quit.
Other-Unaffil
This command allows you to alter affiliations globally. You can always hit Escape to abort the process. You are asked:
  1. Which affiliation?
    You should enter an existing affiliation that you want to change.
  2. Replace with?
    You can leave this blank to remove the affiliation entirely.
  3. Verifying ... Affiliation 'z' is 'Zorro' and 'w' is 'Web'.
    Continue?
    This step allows you to verify the descriptions of the affiliations you entered.
  4. Are you sure?
    Answer 'Y' if you want to proceed. The action you requested will be applied to ALL records.
Other-Recall
Enter a new mode where you see only deleted records. In this mode you can Recall them - UNdeleting them. These menu commands are available to help find the record to recall: Next, Back and Search. When you find a record you wish to undelete choose 'R' for Recall. When you are finished and want to return to normal mode choose 'Done'. Choose 'Quit' to exit mlist entirely. There is also aFfil here for changing affiliations. Note that at some point records marked for deletion actually will be deleted. After this happens they cannot be recalled.
Other-Bounce
Clear the email address after confirmation - presumably because a letter sent to it bounced back.
Other-Gender
Change the gender from M to F or vice versa. Guessing is okay. It may not matter - unless they come for a program and need to be housed in which case the gender can be remedied at that time. Instead of guessing you could use this web site which helps determine the likely gender of a name.
Other-Stale
A file of stale email addresses has been uploaded at this address. This command will get that file and purge the addresses from the mlist database.
Other-oNline
Import mlist entries from the web.
(Note that this is 'O' and then 'N' - unlike reg.) This web site allows anyone in the world to give us their information for mlist. The reception office staff is notified by email that there are records waiting to be imported. This oNline command will automatically bring the data into mlist. You are notified how many records were imported and the last one imported is shown. It is advisable to check all of them for duplicates.
Quit
Exit mlist.

Listings    

Here is where you get all kinds of lists of information. The listings screen offers several choices:

1. General Listings
See below.
2. Phone List
This takes a while to run but provides entertainment. It creates phone lists in three different formats:
  • List #1 - Names, phone numbers, and full address in one line.
  • List #2 - Names and phone numbers in columns.
  • List #3 - Names, phone numbers, and full address in columns.

List #3 seems to be the optimal one but must be printed in landscape mode.

You can print it from the Internet Explorer web browser but first do these two things:

  1. From the browser menu choose File => Page Setup.
    Set the orientation to Landscape.
    Also set the margins here. You might want larger Top/Bottom margins so you can put the list into a 3 hole binder.

    Note: To see the browser menu you may need to press the Alt key.

  2. From the browser menu choose
    Tools => Internet Options => Advanced.
    Scroll down until you see 'Printing'.
    Check 'Print background colors and images'.
    Finally, click OK.

Now you can print the phone list (with Control-P or File => Print).

Once you are finished printing these phone lists you should (for privacy concerns) delete them by pressing this:

This actually deletes all files that anyone has put in the printer directory. They can always be regenerated and no one should count on them remaining there.

If a long line in List #1 or #3 causes a wrap around there is a way to remedy it. Putting a star/asterisk (*) at the end of the first address field will cause the entire address to be shown in a smaller font. After the change you will need to regenerate the list, of course. The more stars (*) you put at the end the smaller the font will be. Max of 4.

3. Unduplicate
This takes a while to run (but provides entertainment) and produces a long listing of possible duplicate or mistyped entries. These suggestions come in two categories:
  • Same address.
  • Same name.

Note that this list will include many things that are just fine. It may show people that need to be partnered (although doing this without their permission may lead to some trouble - perhaps do it only if the last names are the same?). The task is to find the worthwhile nuggets amongst the considerable cruft. This is a labor intensive task and may not be worth it. It may, however, save a lot on printing and mailing costs. Since the listing is quite long, actually printing it out is NOT recommended. Better to print it with the ftp 'printer' (see below).

4. Fellowship
This prompts for a date and produces a listing of people whose fellowship membership is current as of that date. The listing includes First, Last, Sanskrit and the date their membership expires. In order by the Last name.
5. ZipCheck
This listing helps search for erroneous zip codes and misspelled city names. The assumption is that any one zip code will not cross city boundaries. To use this listing (again - don't actually print it out!) set the Order to Zip and search for the zip code in question. This listing in combination with a web browser at zipinfo.com should prove quite useful. Again, this is a labor intensive task and would best be done by someone who enjoys such 'detail oriented' work.
6. Affiliation and Date Statistics
This first tally shows how many mlist entries have each of the affiliation codes.

Below this is another tally showing how many years people have been in the mailing list along with a running total. It uses the DATE_ENTRD and DATE_UPDAT fields to do this tally. Note that a big purge by date was done at some point.

Both of these are of questionable use but are sort of fun to look at.

7. Big Purge by Date
This is used to prune the mailing list of people that have not been around for a number of years. This asks for a cutoff year and whether you want a listing or whether you actually want to do the deletions. It is certainly recommended to get a listing and check it twice before doing the deletions. If you see someone that should not be deleted you can update their entry (There is no need to actually make a change just say 'E' for edit and F8,F8 to write the record and change the person's last updated date).
8. Affiliation List
This prints each affiliation code and description. Useful to have for reference.
9. Email Addresses
All the non-empty email addresses of people who do not have a '9' in their affiliation. 9 means that they have opt'ed out of receiving email notifications of upcoming programs. And then some other commands to control where the listing goes:
Toggle Printer/Screen
Normally listings come to the screen. Choose this to send them to the current printer (by default 'jet').
Change Printer
Change where listings will go when they're not going to the screen - i.e. set a new destination. This is normally a printer name (current either jet or mmi) but can you also specify ftp. This stands for "File Transfer Protocol" and will put the listing file on the web at this address:
    www.mountmadonna.org/printer/yourname.txt
where 'yourname' is replaced by your unix login name. After you view or print the file here you can delete it by pressing the "Delete Them!" button above in the discussion of the phone list.
Mail the Next Report
This prompts you for "To Whom?" and "Subject?". The next listing will be emailed to the specified address. You can give multiple email addresses, if you wish.
    To Whom? jon@lala.com, mary@nono.org, here@there.net
Reprint Last
Take the most recently generated listing and resend it to the current destination.
Quit
Return to the mlist main screen.

The Report Screen    

This is a dialog that facilitates the creation and execution of generalized listings also called reports. Execution of a report causes a subset of mlist records to be selected, sorted, and directed to a destination. For example, you can get a listing of all people whose zip code is either 95060 or 95062 who have a Y in their Affiliation field. The listing can be in order by their last name and include the name and the home phone number. This listing can be sent by email.

How this all happens is determined by the fields below:

Description
A string identifying this report.
Custom
If non-zero, this is an integer specifying a custom .prg file to run for each record. Ask Sahadev about this if you are curious.
Zip Ranges
A series of zip code ranges like this: 95060-95080, 95010-95050, 95023
Affiliations
A series of characters representing affiliations.
Order
Choices are: Zip, Name, Sanskrit
Beginning at
This is used when specifying a zip range above. It tells where to start and speeds up the process.
Ending at
This is used when specifying a zip range above. It tells where to end and speeds up the process.
Format
This report field determines which mlist fields are shown and in what order. The mostly self-explanatory choices are:
Name|Address|Email
Email to CMS
Yields a line containing name, address, city, state, zip all separated by pipes '|'.
Name, Address
Name, Home #, Work #
Name, Home #, Work # - double spaced
Name, Home #
Count
Count
Yields only one line with a count of the records selected.
DBF format
No longer works, if it ever did.
Statistics
Does some kind of tallying by year. Likely not useful any more.
Just Name
Name, Email
Probability
If this is non-zero, it is a number < 1.0. This is a probablity that the record will be chosen. This is used to choose a random sample of records. If you want a certain limited number of random records (like 500 people chosen at random from the zip range of 95060-95070) you will need to first do a count (Format = Count) and then calculate a probablity to insert here.
Expire Date
An odd thing, this. If this date is specified then it is checked against each record's entered/updated date. If the record has 'expired' then the people's name(s) will be surrounded with stars "***". An alert that they may be purged, apparently.
Extra Field
No longer used. Could be deleted.

Report Menu    

These menu commands are offered at the bottom:
Next
Move to the next report (in order by Description).
Back
Move back to the previous report.
Search
Search for a report by giving a prefix of the description.
Add
Add a new report.
Edit
Edit the current report.
Delete
Delete the current report.
Go!
Execute the current report sending the results to the current destination (screen or printer).
Toggle
Change the destination from the screen to the printer (or vica versa).
Change
Enter a new printer (jet, mmi, or ftp). This also toggles the destination to the printer.
Reprint
Resend the most recent listing to the current destination. Do not generate it anew.
Quit
All done. Return to the listings screen.

reg and mlist - To and Fro    

Information is passed back and forth from reg to mlist and vice versa. Using a true relational SQL server will likely make the above easier by keeping the mlist demographics only in the mlist table and having a foreign key to it from the reg table. However it is done, the above functionality needs to happen.