Exporting from DataPhile

by Ben Calica and Kristin Dyer

There's nothing like organizing a hundred speakers in only six weeks to push a database to its limits. When we started organizing the User Conference for NeXTWORLD Expo, we didn't realize that the real help of Stone Design's DataPhile wouldn't be in storing information about our speakers, but in delivering the information to other programs in a variety of useful formats. By the time Expo rolled around, we had used DataPhile for publishing parts of the Expo guide, assisting with a mass fax, and even batching e-mail confirmations to the speakers. The tricks that we learned will help anybody interested in pushing this application to its limits.

Database publishing
After settling on the session descriptions and speakers for the conference, we had the dubious honor of publishing the show guide. Since all the session information was in DataPhile, we faced the same problem that's been plaguing database jocks forever: While it's simple enough to make a report with all the formatted fields in the database, or to dump straight ASCII text into a file and use a word processor to goose things into shape, exporting a formatted text file with all the correct tabs, punctuation, and fonts directly into a desktop publishing program is nearly impossible. Our solution was to use WriteNow's Merge facility.

We created a view in DataPhile with only the fields that we wanted to export. Then we sorted the database into the desired order for the final file. Next, we used DataPhile's Export to Merge option in the Reports menu to produce a file that could be merged into WriteNow. Inside our WriteNow Merge template, we specified fonts, point sizes, and punctuation for all of the bracketed () commands that import data.

We had to remove the page breaks between each record after the merge, but the final results were perfect for pouring into our desktop publishing program with all bold and italics intact. (We could have removed the page breaks by using WriteNow's Show Markers command, then using a global search-and-replace to eliminate them, but we didn't think about that at the time.)

After we tracked down all the speakers' addresses and phone numbers and called to ask if they wanted to speak, we had to send them confirmation letters. Since we were crunched for time, we decided to do our confirmations electronically.

In DataPhile, we made a new Report view consisting only of each speaker's e-mail address. We then went back to the Main view and told DataPhile to find all the speakers who had accepted, confirmed, and had valid e-mail addresses that is, e-mail fields that weren't blank. To tell DataPhile to find only records from a field that has something in it, enter:

> " "

(together known as "greater than empty") in that field in the Find panel.

We then returned to the e-mail Report view and told DataPhile to retrieve the previous Find. Now we had a view with only the e-mail addresses of the confirmed speakers. We exported this list to a plain ASCII file with the records separated by spaces. We opened this ASCII file in Edit and copied the list into the cut-and-paste buffer by pressing Command-a (Select All) and Command-c (Copy).

Then we went to NeXT's Mail application and opened a Send window. We didn't want everybody to see the list of recipients, so we put our address in the To: field and the speaker list (from the cut-and-paste buffer) in the bcc: field. "Bcc" stands for "blind carbon copy," and you can find it under Mail's Options panel. People getting the message saw only our user name in the To: field. After we pasted in the list of names, we clicked OK to tell Mail that we liked the list we had chosen. We then filled out the rest of the Send panel and clicked the Deliver button.

Time crunch
Luckily, all of the people who didn't have e-mail had reached far enough into the modern age to have fax machines. So we went back to DataPhile and made a Report view with names and fax numbers (you're beginning to get the picture). Then we went to the Main view and found all of the records that were confirmed and did not have e-mail addresses by entering

= " "

("equal to empty") in the e-mail field. Back in the name-and-fax Report view, we repeated the previous Find and voila a list of speakers with fax numbers but not e-mail addresses.

Unfortunately we did not have access to a fax modem, so we can't tell you how an automated mass faxing might have worked. Instead, we printed the cover sheets (generated with another WriteNow Merge operation) and enslaved an Expo volunteer to send the cover sheets and confirmation letters. Ah, the best-laid plans . . . . As it was, 60 e-mail messages, 40 faxes, and a 38-page show guide aren't too shabby a yield for a simple flat-file database.

Ben Calica is a free-lance writer and editor based in San Francisco. He was the conference operations manager for NeXTWORLD Expo. Kristin Dyer is an editorial intern at NeXTWORLD.