Barry:
I know it has been awhile since I last visited this thread, I hope you have not been holding your breath…
I have discovered some new and interesting information about finding and setting email addresses in the Palm Desktop that may very well affect this synchronization issue. Earlier, I was sure that nearly all the email addresses were located in the custom one field of each contact. I have now noted that some of mine are also located in one of four phone fields for each contact. In fact, if you go to your Palm Desktop, and punch up the information on a contact, you will see a window with 5 other windows inside. In a clockwise direction, beginning in the upper left, they are entitled (Name), Phones, Home Address, Other information, and Word address.
If a contact’s email address is listed in one of the phone fields, it will show up in the Phones window, and when you click that window, you have the option of doing a drop-down thing to change the labels.
If a contact’s email address is listed in the custom one field, it will be located in the Other Information window. When you click that window, you are presented with a little icon to the left of the email address, and clicking it activates Mail, and composes an email to that address! I only discovered that tonight!
Anyway, I was curious if you are interested in a ‘clean-up’ script that would cycle through all your Palm contacts, and move the email from one of the phone fields to the custom one field. I have a crude script (first draft) posted here of a synchronization script that will first make a list of all Palm database email addresses (in the custom one field), and then cycle through your Address book, only making new Palm contacts if the Address book email is not in the list. Of course, as you can imagine, that could leave you with a bunch of duplicate contacts wherein their emails were in one of the phone fields, and therefore not found when obtaining the list of emails in the custom one field. It then adds a line at the end of the Address Book note field that says “synced - (today’s date)”
The only other issue I have located so far is that some of my Address Book contacts have more than one email address. I have not spent much time trying to solve that dilemma, since I have so few. I am pondering it, however.
Personally, now that I have learned this nifty stuff, I plan on writing the ‘clean-up’ script next, before I start syncing with my own Address Book.
Here is the first draft of the sync script:
tell application "Palm Desktop" to set every_Palm_Email to field text of custom one of every address whose field text of custom one is not "" --List of every email address in Palm database
tell application "Address Book"
set un_Synced to every person whose note does not contain "synced" --List of Address Book person not already synced to Palm
repeat with some_One in un_Synced
if every_Palm_Email does not contain (value of email of some_One) then
my AddToPalm((some_One's last name), (some_One's first name), (value of email of some_One))
if some_One's note is missing value then
set some_One's note to space
end if
set some_One's note to (some_One's note & (return & "synced - " & (short date string of (current date))))
end if
end repeat
end tell
--------------------
on AddToPalm(ln, fn, em)
tell application "Palm Desktop" to make new address with properties {first name:fn, last name:ln, custom one:{field text:(em's item 1)}}
end AddToPalm
I will only be in town until Saturday morning, then I am off camping for a week with my kids. I do not know how much time I will have this week to work on it, but any comments or questions you have are welcome and probably stimulating.
OK, I have officially decided that the OS X version of the Palm Desktop is amazing. Within that Other Information window on ANY contact, you can easily set up any of the custom fields to be the nifty automatic E-mail address fields. I think I am going to set up the first two, to cover the possibility of two addresses per Address Book contact. Once you have set it up for one contact, the entire database is affected, so that is convenient. Please be advised that that is how I am going to set up my ‘clean-up script’ to work. If two addresses are found for one contact, they will be placed in the custom one and custom two fields.