Reply to: ListManager: a frontend to LISTSERVs Dear LISTSERV Listeners, A friend of mine forwarded a message to me. It asked for a Macintosh front end for LISTSERVs: "I am looking for a user-friendly "LISTSERV client" for both PC and Mac which would take end-users by the hand and guide them through the procedures of signing up to lists, signing off, reviewing lists, getting a copy of the list of lists with some search string (the whole list usually exceeds gateway limits), and so on." This message also described a problem with QuickMail and how it inserts an extra field into Internet messages. I have fixed both problems. First, the solution to the QuickMail problem is to create a new QuickMail Form without any graphics and to make a space (" ") as the default text of the subject line. Second, I have created a frontend to the Bitnet ListServ program. I call it ListManager. In short, the ListManager queries the user for what they want to do with a ListServ. It in turn formats an SMTP mail message and sends the message on its merry way. A few people in my library have been using this HyperCard stack for about 1 year. It supports: * subscribing, * unsubscribing, * reviewing, * setting mail to on or off, verbose or no,... * complete archive searching, * file retrieval, * and everything else (I thinkque). It seems to work just fine. I would like to point out that this entire proceedure is done simply by pointing, clicking, and entering keyword phases! Below is part of an article I wrote. The article was about TCP/IP communications. I exemplified my ideas, in part, with the ListManager. Eric Lease Morgan, Systems Librarian NCSU Libraries Box 7111 Raleigh, NC 27695-7111 (919) 515-6182 [log in to unmask] =-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Implementing TCP/IP communications with HyperCard by Eric Lease Morgan, Systems Librarian North Carolina State University Libraries Introduction This article describes how to implement TCP/IP communications with HyperCard in three steps. First, it briefly examines the tools used to access information resources available through the Internet. Second, it outlines the necessary hardware and software requirements to make TCP/IP communications happen on a Macintosh. Third, it illustrates the implementation process with two stacks: Mini-Atlas and ListManager. (stuff deleted) Requirements The necessary hardware and software requirements to implement TCP/IP communications from within HyperCard include: * a Macintosh with a direct connection to the Internet, * any version of HyperCard, * MacTCP, and * the XCMDs from the HyperCard TCP Toolkit. (stuff deleted) Lastly, the HyperCard TCP Toolkit is a set of XCMDs which calls the routines within MacTCP. XCMDs are compiled pieces of programming code usually written in a the C or Pascal programming language. XCMDS can be added to your HyperCard stacks. In turn, they add additional functionality to the HyperCard HyperTalk language. The TCP Toolkit is available from APDA, America Online, and from a number of anonymous FTP sites as well. (stuff deleted) ListManager Another, more interesting application is the ListManager, a front-end to LISTSERV programs which operate electronic lists such as PACS-L, AUTOCAT, and LIBREF-L. ListManager automates the procedures necessary to search the archives of these lists by keyword Boolean queries, to temporarily turn off your mail from the list, to retrieve a list of participants of the list, or to retrieve files from the lists. With the ListManager you can do all these things and more simply by answering a few questions and clicking a few buttons. In other words, the ListManager conducts a simple reference interview querying the user about LISTSERV needs. In the process, it creates a Simple Mail Transfer Protocol (SMTP) message. Using the XCMDs from the HyperCard TCP Toolkit, the ListManager sends the message to the user's mail server. In turn, the mail server forwards the message to the LISTSERV program where it processes it and sends a reply to the user's email address. There are two parts to the ListManager: the reference interview and the transmission of the resulting email message. The reference interview process asks you questions. Based on the answers to those questions, it asks other questions. When the question-and-answer process is complete, the result is an SMTP message. The first question is "What is your name?" Next it asks for your email address and the name of your mail server. It then asks you, "To what list do you want to send mail?" Then ListManager asks, "Do you want to send mail to the server or to the participants of the list?" If you choose "participants" then you are given the opportunity to write a posting. On the other hand, if you choose "server" then you are presented with the various commands that can be sent to the server like: subscribe, unsubscribe, index, get, and review. (Put Figure 2 here.) Figure 2. The ListManager implements a simple reference interview. During the interview the operator is asked, "What command(s) do you want to send the PACS-L [selected] server?" Information about the commands can be retrieved by clicking the question mark button. Here are some example results of the reference interview process. If I wanted to subscribe to PACS-L, then the resulting email message would look like this: HELO ericmorgan.lib.ncsu.edu MAIL FROM:<[log in to unmask]> RCPT TO:<[log in to unmask]> DATA FROM:<[log in to unmask]> TO:<[log in to unmask]> subscribe PACS-L Eric Morgan . QUIT On the other hand, if I wanted to retrieve a list of all the files available from PACS-L, using my email address as an example, then the resulting email message would look like: HELO ericmorgan.lib.ncsu.edu MAIL FROM:<[log in to unmask]> RCPT TO:<[log in to unmask]> DATA FROM:<[log in to unmask]> TO:<[log in to unmask]> index PACS-L . QUIT Then, if one wanted to query the PACS-L list for messages (records) containing the terms "ALA" and "preconference" posted between May 1, 1990 and August 31, 1990 where the subject line sounds like "shikago" and I wanted the results sent in a user-defined author-subject format, then the resulting email message would look like: HELO ericmorgan.lib.ncsu.edu MAIL FROM:<[log in to unmask]> RCPT TO:<[log in to unmask]> DATA FROM:<[log in to unmask]> TO:<[log in to unmask]> // JOB Echo=No Database Search DD=Rules //Rules DD * S ALA preconference in PACS-L where subject sounds like shikago from 90/1/5 - to 90/31/8 F AS: #.6R0 "Record" From.25 "Author" Subject.80 "Subject" I AS /* . QUIT The output of a search similar to the one above looks like this: > S 'ALA' preconference in PACS-L --> Database PACS-L, 7 hits. > F AS: #.6R0 "Record" From.25 "Author" Subject.80 "Subject" > I AS Record Author Subject ------ ------ ------- 001594 [log in to unmask] ILL, Copyright and Internet Catalogs 003197 [log in to unmask] LITA Human-Machine Interface Interest Group pl+ 003468 [log in to unmask] Screen design: since you asked 003540 [log in to unmask] LITA Screen Design Preconference 003654 [log in to unmask] Screen Design 005747 [log in to unmask] Screen Design/Online Catalog project status re+ 006113 [log in to unmask] in the OPAC Finally, if I wanted to retrieve record numbers 001594, 003468, 006113 of the resulting set from the search above, then the resulting email message would be: HELO ericmorgan.lib.ncsu.edu MAIL FROM:<[log in to unmask]> RCPT TO:<[log in to unmask]> DATA FROM:<[log in to unmask]> TO:<[log in to unmask]> // JOB Echo=No Database Search DD=Rules //Rules DD * search * in PACS-L print all of 006113 006113 006113 /* . QUIT Granted, the first 7 and last 2 lines of each of these examples could be created by my email program, but everything in between is up to me to write for myself. With the ListManager, all I have to do is answer some simple questions. The program does the rest. (Put Figure 3 here.) Figure 3. At the completion of the reference interview, the ListManager has created an SMTP mail message waiting to be sent by clicking the "Send the message" button with the help of XCMDs from the HyperCard TCP Toolkit. (stuff deleted until the end of the article)