Search

I create all my contacts on my mac osx Address Book app. They are synced (hourly or force) to my google contacts using the app's contactsyncfeature.

Now when creating a new entry I would like to be able to prefill my fields with an address of choice, browsing the google contacts. They have an api so an extension migth be an option. However since I only need read only, I consider using the Portable Contacts API.

What would be the most simple approach to import a contact? Could this simply work with an external datasource feeding the subsection manager extension?

OK I decided I don't need the google contacts. I just want to browse my addressbook contacts in the symphony backend, so that when I create a new entry I can add an address of choice. I would prefer not having to create an addressbook sections that replicates (and has to be updated each time) the macosx addressbook. Yet I would need some kind of subsection manager to be able to see the address details before adding them. This extension should be able to read from either the meta files or sqllite database on my macosx system. A modified xml-selectbox only offers one addressfield at a time, while I need to import many. The xml import extension is too much as I only need to import one node at a time (unless cron to have it constantly copy the addressbook over from macosx to its section).

I found some info here but again i'd love to do this withotu having to transform the data into another format that needs to be kept in sync.

Any clues as how to tackle this?

Two options I can see:

  1. Write a small Cocoa app that Symphony can call to read/write to the AddressBook via the ABAddressBook APIs (or via MacRuby/Python — the important part is to use "official" channels to read/write);
  2. Do it via AppleScript using the osascript command-line interface.

Neither is likely to be fast, and both would require an extension to marshall the interactions. I would avoid modifying the database directly, given that other services such as iCloud will probably just ignore your changes unless they're registered properly.

I'm happy to give you some more specific implementation pointers, but this is something that would only be useful on a local install on a mac.

I am working on a local install, in fact I might even install it under mamp and repackage the image as a FOSS standalone ensemble app....

Since there is an addressbook widget on osx, can't I modify its code so it formats the displayed fields as microformat. And then use the htmlpane extension to have the widget display inside my backend, and then use javascript to copy the corresponding fields over?

Do you know how to get the addressbook widget working inside safari? For more simpel widgets like the worldclock, it just works opening the html file but it seems that addressbook plugins don't work in safari, resulting in a dead widget

The widget uses a small amount of cocoa wrapped in the AddressBook.widgetplugin you can see inside the bundle. You can't use Dashboard widgets in the manner you're hoping :(

I did find a nice commandline tool that migth simplify things, but its vanished. Might be looking into another solution all together.

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details