In article <v0313033bb96e057fa618@[192.168.123.10]>, Charlie Summers <charlie@lofcom.com> wrote:
At 5:04 PM -0400 7/31/02, Anne Judge annoyed us with:
Here's an example:
Better to be maintained in an external database with the additional data you'd want to store, and generate the dist file from it (possibly a nightly cron job; oh, yeah, another unix command you don't want to hear about - maybe there's a button you can push on the Mac?). I did exactly that for a client using MySQL to maintain the data, PHP to securely manage it remotely, and SmartList to handle the list mailings.
I'm not sure what makes that "better." From SmartList's point of view, the dist list is the canonical location for subscriber info. That's significant. For example, the subscribe, unsubscribe and procbounce scripts all modify the dist file when users need to be added and removed. If you're generating the dist file nightly from a separate database, you're going to wipe out any changes that SmartList made itself during the day. Unless you also modify all the other SmartList scripts and recipes to make their updates to the SQL database first.... at which point the sensible programmer would ask, "is this really a better solution than storing the real names in the dist file?" Now, I consider myself a pretty good hacker and am confident in my ability to understand most any small program if I study it long enough, but so far multigram has eluded me. :-) So I'm not eager to hack multigram to support real names. But I certainly see why it's a desirable solution. I don't understand why you think it's a ridiculous idea and that only stupid Macintosh-using Unix-hating bottom-feeders would want it. In general, you do not want to have two different databases (e.g. a MySQL table and a dist file) that are maintained independently but each considered canonical by different parts of the software system. You are almost guaranteed to end up with stale or inaccurate data in one or both databases as a result. I've been there. It's painful. I don't recommend it. Why do you consider the dist file the wrong place to record this information?