People Porter 0.1 (PIM/Database to Be People converter) I put this script together for two reasons: I had hundreds of personal and business contacts in Filemaker databases and other PIMS that I wanted to move onto my Be system, and I wanted to see what could be done with Attribute manipulation via script. This is the closest thing to a program I've ever written. I'm sure there would have been much more efficient ways to do it, but hey, it gets the job done and it was fun to do. Many thanks to Matthew Schinckel (matt@null.net), whose e-mail conversion script and basic idea I hacked to make this. If you want to hack this further and make it better, be my guest -- just let me know if you do (beos@birdhouse.org). This version is freeware. How It Works People Porter takes mail-merged database or PIM export data as a single giant file, splits it into small temp files, and greps through them for relevant info. It then creates new files named after your friends and associates, writes the People MIME signature, stuffs all the attributes with the right values, and deletes the temp files. All the new People files are dropped into the "cooked" subdirectory of this folder so you can check them before merging them with the People in /boot/home/People/ . Using People Porter 1) Run the script once with the included sample input data just so you can see how everything works. 2) Prepare your data as described in the next section, to match the formatting of the input.txt sample file in the "raw" folder. 3) Replace or rename the provided copy of input.txt with your own. 4) Open a Terminal and navigate to the ~/PeoplePorter/ directory (where this document lives). 5) Type people.sh 6) If you have a lot of contacts, go to lunch or something while your machine crunches. This script is *very* slow (hey, I'm not a programmer, remember?). It will, however, give you lots of feedback, so you'll know it hasn't hung. 7) When it finishes running, your "cooked" directory will be full of People files. It might be a good idea to look them over before merging them in with your existing People files. Preparing Your Data The difference between doing a script like this and something like an e-mail converter is that there are relatively few popular e-mail clients out there, but there are so many PIMs, contact managers, and home-built databases in use that there's no way for me to know what format your data is in. In addition, Be's People format has fewer fields than common PIMs do. So I came up with with an intermediary solution, although you'll have to do a little footwork before running the script. Almost all PIMs and databases allow you to export to CSV or TAB-delimited format. Export your PIM or database to one of these formats and run it through a mail merge in Word or other mail merging program, so that you end up with a format that looks something like the sample input.txt file in the "raw" folder in this distribution. You may have to jimmy your output a little to get the field names to match up as closely as possible. For instance, the PalmPilot desktop software uses the term "Category" but Be People have "Groups," so I edited the fieldname in the output file to match. Don't worry that Be People put first and last name into the same field, while most PIMs don't. The script takes care of concatenating first and last into Be's last, first format. Use the first block of input.txt as a template in your mail merging program. The closer your result looks to input.txt, the better. It shouldn't take you more than five or ten minutes to set up. The order of the fields is unimportant, but if you make "company:" your first field you won't have to edit the script (I only used that because it's the first field listed be AttributeViewer). It's important that your field names are spelled like the ones in the template (identical to Be's attribute spelling) and that you use lowercase for all the fields.