Pronto, Page 2
Database optionsPronto's Installer will not fetch the Perl modules that allow Pronto to "talk" to MySQL or PostgreSQL. It is the user's responsibility to install these, but there is no mystery to it. The needed modules are identified in Pronto's documentation, and fetching them from a CPAN mirror is straightforward. As noted, Debian users who are following Woody are all set in this department. The philosophy here is to take the user by the hand only as far as the basic installation, which defaults to CSV storage. Beyond that, users are on their own. Pronto's lead maintainer, Maher Awamy, explains: "I'd rather the user interact with things that are other than Pronto's components separately; I really don't want to mess with their db's or db servers and then have something bad happen. Basically I'd rather the user RTFM ;-)"
The major Linux distributions provide pre-compiled packages of MySQL and PostgreSQL. Unless one is a SQL purist, MySQL is most likely the best choice for the user who only needs a SQL database for Pronto. There are clear directions in Pronto's installation instructions for setting up either MySQL or PostgreSQL for use with Pronto. Pronto will run just fine without a SQL database, but the old CSV file format will slow things down markedly, especially as the size of the message base increases. If an SQL engine is used, then Pronto's speed, with only a few exceptions (for example, full text searches) is not a function of the size of the message base. The author has tested Pronto with a database of 16,000 messages, and searches on message headers are stunningly fast, on the order of a few seconds.
Pronto's folders can be defined in terms by the headers (To/Cc:, From:, Subject:), the account originating the message (Pronto can retrieve mail from multiple accounts), or message scoring. For message searching, Pronto uses a unique type of virtual folder, which allows any search criteria can be saved as if it defined an ordinary virtual folder. This folder is updated whenever messages are added to the database. Search folders can be defined in terms of the usual headers, message scores, or message "newness." Up to two criteria, plus a full text search term, are allowed for each search. Searches can be one-time affairs, or saved as virtual folders. The main Pronto window shown in Figure 1 illustrates the use of message age to define a virtual search folder that holds all newly downloaded mail. Whenever an e-mail account is polled for new messages this folder is updated. As messages are read, they are "removed" from this folder. Catching up is simple; after choosing the New Arrivals folder, choose "Select all" from the main Edit menu and then "Mark as read" with the right mouse button pop-up menu.
Not Your Father's E-mailerSQL databases for e-mail storage are often considered overkill. The author's extensive use of two such MUAs suggests this is a prejudice, more speculative than empirical. The presence of MySQL (or PostgreSQL) is completely transparent to the user. Also, it is likely that messages stored in SQL tables are at least as secure as those in typical Unix spool files, if not more so, and they are certainly more secure than messages stored in any of the myriad idiosyncratic databases that many authors of GUI e-mail packages seem compelled to invent. These authors often guarantee that a crash of the e-mailer sends the message base to the Transporter Room, which forwards it to the Cosmic Byte Bucket. Finally, for large collections of e-mail, say anything over 5,000 messages, most e-mailers begin to slow down in direct proportion to the number of messages, so for anyone who is fond of keeping tens of thousands of e-mails around, Pronto clearly deserves a close look.
This brief overview has only touched on Pronto's array of features. The program is in active development, and cannot be said to be 100% bug free. But its mailing list is home to a small, active group of enthusiasts, including Pronto's principal author, so help is available. The free software movement is alive and well in Pronto's corner of the cyber world.
About AuthorAbout the author: Robert Bernstein (firstname.lastname@example.org) is a freelance writer specializing in the Open Source and Free Software movements. He has edited Linux texts for Macmillan Publishing, and written technical articles for Caldera Systems. Over the years he has worked as a land surveyor and as a Licensed Mental Health Counselor in Massachusetts. A life-long New Englander, Bob now lives in Esmond, Rhode Island, a village he describes as "apple orchards, cow pastures, and Victorian textile mills that speak to you from a hundred and fifty years ago."