Harmonet Archive Database Help

Welcome to the Harmonet Archive Database. Not only can this database be used to look up old messages over the past several years, it can also be used every day for reading and sending message to the Harmonet mailing list. (In order to send messages to the list you must be subscribed to it.)

 

Contents

Quick Start
Using the Search Panel
About Time Zones
About the Harmonet Archive Database
Direct Queries for Webmasters

Quick Start

Using the Search Panel

The Search Panel at the top of the screen is very versatile. If you want to view all of the messages for only one day, simply type the date into the From field and put nothing in the Sender, Subject, and To fields.

You can use either DOS-style or SQL-style wildcards in the Sender and Subject fields. An asterisk (*) or percent sign (%) means to match any number of characters, a question mark (?) or underscore (_) means to match any one character. When searching for Sender and Subject criteria, you can search the entire database by leaving the From and To fields blank. Narrowing the time period in which the database searches, however, can make the search considerably faster. You can type the range by specifying a starting and ending date in the From and To fields. You don't have to specify the entire date--you can, for example, just specify the year and month, or even just the year. So if you want to search a range of months (e.g., Jun through Aug of 1997) you can type the year and month to start in the From field and the year and month to end in the To field (e.g., From 1997-6 to 1997-8).

You can also leave one of the range fields blank. In this case, there is a difference between specifying the full date, and specifying a partial date. To start the search from a particular date and have it search up to the present, put the full starting date (i.e., including the day) in the From field and leave the To field blank. To start the search from the beginning of the database and have it search up to a specified date, leave the From field blank and put the ending date in the To field. You can quickly specify broad ranges by typing a partial date into the From field and leaving the To field blank. If, for instance, you just type the year in the From field and leave the To field blank, it will search for messages only in that year. If you type the year and month without a day (e.g., 1997-11) and leave the To field blank, it will search for messages only in that month.

There are two date fields you can search with. The Date Sent field is the time stamped on the message by the user's computer the moment he or she hit the Send button to send the message. The Date Received field is the time stamped on the message when it was received by the archive computer after it got sent out by the list server. The main problem with using the Date Sent field is that some people don't have their date set correctly on their computers. Either they don't have Daylight Saving's Time set, or they don't have their Time Zone set correctly. This can result is messages being listed out of order, or even on the wrong day.

NOTE: This archive is a work in progress. All of the archives have not been imported yet, and sometimes messages might not get put into the database while I am working out the bugs. If you notice that a message is missing from the database, please let me know. Currently the database contains messages back to 1 September 1996. Tim Cheney was kind enough to send me all of the BBSHOP archives back to 9 September 1994, so I'm in the process of importing them into the database.

About Time Zones

The Harmonet Archive Database is time zone independent. This means that when you tell the database to show you the messages for "today," it shows you messages sent from midnight to midnight in your time zone. This is very convenient for Harmoneters living in other parts of the world besides the U.S. When messages are entered into the database, the date and time they were sent are converted to Greenwich Mean Time (aka Universal Time Coordinated). When you do a search, dates are converted back to the time zone that you specify. (Right now it defaults to -0500 (Eastern Standard Time) and you have to change it manually. As soon as I write the little JavaScript routine it will be automatically set to the time zone of your computer.) The following list gives representative cities or countries for each time zone:

+1300 New Zealand Daylight Savings Time
+1200 Marshall Islands (IDLE)
+1130
+1100 Solomon Islands, New Caledonia
+1030
+1000 Sydney, Guam, Hobart (EAST)
+0930 Adelaide, Darwin
+0900 Seoul, Tokyo (JST)
+0800 Hong Kong, Beijing, Singapore (CCT)
+0700 Bangkok, Hanoi, Jakarta (WAST)
+0630
+0600 Dhaka, Almaty (ZP6)
+0530 New Delhi, Bombay, Calcutta
+0500 Islamabad, Karachi (ZP5)
+0430 Kabul
+0400 Abu Dhabi, Muscat, Tbilisi(ZP4)
+0330 Tehran
+0300 Moscow, St. Petersburg, Baghdad, Kuwait (BT)
+0200 Israel, Eastern Europe, Cairo, Athens, Istanbul (EET)
+0100 Paris, Stockholm, Amsterdam, Budapets, Berlin, Rome (CET)
 0000 London, Casablanca (GMT/UTC)
-0100 Azores, Cape Verde Island (WAT)
-0200 Mid Atlantic (AT)
-0300 Buenos Aires, Georgetown
-0330 Newfoundland
-0400 Canada--Atlantic Time (AST/EDT)
-0500 USA--Eastern Standard/Central Daylight (EST/CDT)
-0600 USA--Central Standard/Mountain Daylight, Mexico City (CST/MDT)
-0700 USA--Mountain Standard/Pacific Daylight (MST/PDT)
-0800 USA--Pacific Standard, Tijuana (PST)
-0830
-0900 Alaska (YST)
-0930
-1000 Hawaii (HST)
-1100 Midway Islands, Samoa(NT)
-1200 Eniwetok, Kwajalein (IDLW)
-1300

About the Harmonet Archive Database

The Harmonet Archive Database runs on on a 450 MHz AMD K6-2 with 256 meg of PC-100 SDRAM, running the FreeBSD 3.1 operating system. Messages from the listserv are sent to a special address at LouisvilleTimes.org. The mail server, instead of delivering the messages to a user mailbox, sends the through a custom Perl program which analyzes the mail header, sucks out the sender, date, and subject, converts the date to UTC, and inserts the message into the the MySQL client/server database management system . The web page interface is written in PHP 3, a C-like programming language compiled right into the HTTP server (Apache 1.3.4).

Direct Queries for Webmasters

If you want to make a link from your web page to look up messages in the database, the database can be queried directly from any HTML link by calling the select.php program directly and specifying the query variables (which would normally be entered in the form at the top of the page) in the query string of the URL. The select.php program uses the standard HTTP GET query string format, which mean that the query string begins with a question mark (?), variables are defined in name=value pairs separated by an ampersand (&), spaces musy be represented by plus signs, and special characters must be encoded using their hexadecimal ASCII code. The following list of characters (along with spaces) cannot be used in a query string, and thus must be substituted with their respective ASCII codes:

%22 = Double Quote (")
%23 = Octalthorp (#)
%25 = Percent Symbol (%)
%26 = Ampersand (&)
%2B = Plus Sign (+)
%3F = Question Mark (?)

The variables to assign are as follows:

fromDate from which to start the search
toDate at which to end the search
senderSender of the message
subjectSubject of the message
orderbyField to sort on [date (default), sender, subject]
datefield Which date field to use [sent, received (default)]
timezone Times Zone (default: -0500)

The same rules apply for a GET query as for a POST from the form. So dates must be specified in yyyy-mm-dd format (using either a / or a - as the separator). The orderby variable can be one of the following: 'date', 'sender', or 'subject', and it will default to 'date' if you don't assign it. The datefield variable can be either 'sent' or 'received', with 'received' being the default. The timezone should be specified in the standard offset format: 0000 for UTC, -0500 for EST, and so forth as listed above.

So, to make a link to list all of the messages sent by Joe Smith in the month of December 1997, Pacific Standard Time, sorted by the date received (the default), the following HTML would be used:

<P>See Joe Smith's messages from 
<A HREF="http://www.LouisvilleTimes.org/harmonet/select.php?from=1997-12&sender=joe+smith&timezone=-0800">
December</A></P>

When using a link to query the datebase, a special form of query is available. Instead of assigning the from and to variables to specify a date range, you can set the offset variable to specify an offset for how many days before today (0 is today, 1 is yesterday, etc.) to start the search, and the days variable to specify how many days from that date at which to stop the search.

To make a link which will always list the messages from three days ago, the following HTML tag would be used:

<A HREF="http://www.LouisvilleTimes.org/harmonet/select.php?offset=3&days=1">