(wish list) the great gulf between Panorama and Mac OS X Address Book syncing
Mark Terry
mark at abernackie.com
Mon Feb 4 04:57:54 PST 2008
On Feb 4, 2008, at 12:08 AM, Steve Kane wrote:
> I've got iPhone on the brain (haven't bought it yet).
As reported earlier, I just bought one last week, and that thing is
phenomenal. My biggest challenge was caving on the Leopard upgrade (my
strategy was to hold out with Panther, until getting a new machine.
That machine unexpectedly turns out to be the iPhone. ;) It turns out
Leopard needs *9 Gigabytes* more disk space than Panther (MS Word must
be in there somewhere.) Making room, and adjusting to loss of Classic,
were the worst part of the deal.
Apple really has done all the hard work: with iSync, you have all the
control you need over what ports in and out of Address Book, iCal and
iTunes, every time you connect, if you like. You can port contacts and
calendar events into Address Book and iCal from Panorama thru vCards.
The vCard Wizard will do Address Book stuff. I'm not sure about iCal.
Since I had experimented with porting contacts and events into my
iPod, I'd developed a similar scheme of my own. For contacts, I have a
couple markers to designate my core contacts, that I always want
available. I add to them anyone with whom I've recorded an event
(call, post, visit, to-do) in the past year, or future 6 mos. A simple
procedure selects them and exports the text file. Address Book is
smart enough to recognize duplicates, and treat them as updates, if I
don't bother to purge it before import. The vCard Wizard will build
the export file, I believe, once you've selected the records you want.
The calendar is a little tougher. Exporting/importing to iCal is
simple enough, but, once it's in there, I think it would be better to
have the data updated thru AppleScript (although you could muscle
through with import/export/replace if you needed/wanted to). I'm going
to get after that (if no one else does ;) soon enough. My iCal export
is below.
One quick note on the iPhone cost: once you get past the purchase
price ($400 or so) it's really not that bad. My calling plan with AT&T
has almost identical costs and calling features, minutes, etc. as my
former plan with Verizon, but it also includes unlimited internet/
email access, with good speed, and great coverage. And, for Apple
people, at least, the design, compatibility, etc. make it a quantum
leap into increased productivity, punctuated with unlimited
coolness... it's *almost* fun to work with it. There are some
drawbacks as well but, so far, it's mostly just fun.
Basic Calendar export is below. Built on ".vcs", which is version 1,
instead of ".ics" which is vers 2, and too finnicky for me, so far.
Consider this just a place to start: it creates a file that will
import into iCal, but needs to be enriched somewhat, depending on how
you use it.
M
/*
"ApptName"=name of your guy
"EmailAddress" is your guy's email address
"Where"=location, if you want that in there
"ApptID" is a unique identifier for that event
"Reminder" is the name of my Reminder field. (Pan reminder data type)
"Note" is description of the event
*/
local RA,folder,file,prompt
ArraySelectedBuild RA,¶,"",
{BEGIN:}+?(Type,"VTODO","VEVENT")+{
ATTENDEE;CN="}+ApptName+{"}+sandwich(":mailto:",EmailAddress+{
LOCATION:}+Where+{
UID:}+ApptID+{
STATUS:}+str(ApptStatus)+{
DTSTART;TZID=America/Detroit:}
+datepattern(reminderdate(Reminder),"YYYYMMDD")+{T}
+timepattern(remindertime(Reminder),"HHMMSS")+{
SUMMARY:"}+ApptName+{"
DTEND;TZID=America/Detroit:}
+datepattern(reminderdate(Reminder),"YYYYMMDD")+{T}
+timepattern(remindertime(Reminder)+3600,"HHMMSS")+{
DESCRIPTION:}+Note+{
ORGANIZER;CN="Your Name":mailto:you at youremailaddress
END:VEVENT
}
ArrayFilter RA,RA,¶,
replace(import(),",","\,")
ArrayFilter RA,RA,¶,
array(import(),1,";")+sandwich(";",replace(array(import(),
2,";"),";","\;"),"")
RA=
{BEGIN:VCALENDAR
VERSION:1.0
PRODID:-//abernackie.com//SalesGuy v5//PanV - Provue\, Inc//EN
X-WR-CALNAME:Home
X-WR-TIMEZONE:America/Detroit
CALSCALE:GREGORIAN
METHOD:PUBLISH}+¶+
RA+¶+
{END:VCALENDAR}
RA=replace(arraystrip(RA,¶),¶,CRLF())
prompt="Save as:"
file=".vcs"
SaveFileDialog folder,file,prompt
if info("dialogtrigger") MATCH "Cancel" rtn endif
FileSave folder,file,"iCalttxt",RA
More information about the Qna
mailing list