Wednesday February 6, 2013

From Database records to Name tags

I'm taking over the volunteer position of Database Manager for a group I belong to. Before I can officially take over, I need to know that I can replicate the processes that the previous volunteer followed. She has a PC; I use a Mac.

My first task: Figuring out how to create name badges for meeting attendees based on data exported from the member database.

  • The data lives in an online database and can be exported as CSV or TSV.
  • The previous DB Manager used the MS Word "mail merge" facility; it's clunky but it works**.
  • I don't have Word.
  • Mac's Pages app doesn't have quite the same capability. It has "mail merge" but it wants to put one name/address/etc record on each output page. I need to put 6 name badges on a page.
(** clunky == if you want to print 23 name tags, you need to copy/paste the template 23 times.)

We first had to reconsider the problem and remove artificial constraints. The problem is not "How do we get Pages to create name badges". The problem isn't even "find a mail merge program". The problem is

"How can I automatically create name tags from records exported from a database".

I knew I could write a Perl program and do what needed to be done. But I wanted a "boxed" solution that could, potentially, be shared with anyone who had uses Mac OS X.

I did a little bit of investigation, with the search terms "Mac OS X" "labels" and "name tag". I found two boxed applications that might do the trick:

Labels and Addresses is very nice, easy to use, and "intuitive". It has the feel of a well-designed Mac application. But... $50.

Labelist gave me some difficulties from the start -- I couldn't download and install the demo! (I tried two different sites and different computers and it kept stalling). But then I discovered it;s available from the App Store and currently on sale at 50% off. So I took a chance and bought a copy.

Labelist is obviously very powerful. Unfortunately, this means it's also not easy to just jump in and use. I had to (gasp) read the manual to figure out how to set up a template for data records imported from a tab-separated file.

Still, I persevered and managed to create a template. I figured out a few of the features.

I found a bug. Unfortunately, it was a Heisenbug. The layout of the first card didn't always match the layout of the rest of the cards. If I copied all rows of data to a new .txt file and imported from that, no bug.

Eventually, I discovered that the bug was caused by having at least one data record with Windows CRLF record separators. I assume this occurred because my original data was imported from Word and Excel. The folks at Chronos were happy to receive the bug report.

I can now print name tags using data from the membership database (yeay!), and for less cost than I originally expected. Next stop: the membership directory.

From Database records to Name tags ( in category Computerware , Trivial Pursuits ) - posted at Wed, 06 Feb, 20:23 Pacific | «e»


Post a comment

Any posted comments will be viewable by all visitors. Please try to stay relevant ;-) If you simply want to say something to me, please send me email.

All comments will be moderated. Thank you for your consideration.