Hmm. Address Book syncing via ab2vcard?

Posted by Scott Laird Thu, 11 Mar 2004 09:20:42 GMT

I had a weird thought a couple hours ago. Suppose you set up two Macs with ab2vcard, both syncing to the same Subversion repository, and then added a bit of extra magic to handle conflicts and deletes. Then hand conflicts and remote updates off to Address Book and let it handle it on its own (that was one of the improvements in Panther–the Address Book has a merge dialog).

Wham, instant version-controlled shared address book. Have a nice day.

Of course there are a few little details that need to be handled. Most of them involve tracking deletions and doing the Right Thing. ab2vcard’s current deletion tracking is hokey, but it works when it owns the vCard repository. In a shared environment, you need better logic. It’s not rocket science, though.

Posted in  | Tags , ,  | 3 comments

Comments

  1. Lars Immisch said about 1 month later:

    Great idea!

    I wanted to do the same thing with AppleScript. I failed going the AppleScript route, but I reckon it is much more sensible to do it via ObjC anyway. Thanks!

    Now vcard2ab was missing for my purposes. I have written a preliminary version. If you are interested, I can send you the source (or setup a subversion repository).

  2. Scott Laird said about 1 month later:

    I’m interested, but I haven’t had the need to import blocks of vCards into address book via a script yet. And if I was, I’m be tempted to just run ‘open foo.vcf’ and let the Address Book merge GUI have its way with things.

  3. Lars Immisch said about 1 month later:

    True, although then one big All.vcf might be easier for automatic updates.

    What I am interested in is automatic syncing via subversion. I am currently looking at the subversion API.

    I currently imagine a sync cycle would go like:

    ab2vcard svn update check for deleted cards and delete them in subversion warn about conflicts otherwise import new and modified cards scn commit

    BTW, I have a version of vcard2ab as a Python script. The formatting gets lost in these comments, though, so I will send it as an email

Comments are disabled