Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

Birthdays of address book accounts others than local

There appear no birthdays in iCal for contacts of Apple's address book, if the contact are NOT within the Local account, but part of a CardDAV account. If I copy a contact to the Local account the birthday appears in iCal.

My iPhone (iOS4) uses also CardDAV to sync these contacts, but the birthdays are shown in the iPhone's calendar perfectly.

Is iCal able to handle birthdays of Local contacts only?

MacBook, Mac OS X (10.6.4), iCal 4.0.3 (1388)

Posted on Aug 23, 2010 1:35 PM

Reply
22 replies

Nov 1, 2010 3:05 PM in response to Rolf Schneider

I think I have the same problem. I have all my contacts on Exchange server. In the Address book I have included the birthdays of some contacts. Birthdays appear in the iphone4 calendar but not on the ical... i keep trying the Preferences>Show Birthdays Calendar option in iCal but nothing appears...

Any ideas? Suggestions?

Feb 4, 2011 11:26 AM in response to Rolf Schneider

I hope this gets fixed soon, but in the meantime I found a kludgy way around it.

In Address Book, select all the contacts in the Carddav acount group, and copy them to the "on my mac" group. This causes the birthdays to show up in the ical Birthdays subscription calendar.

In iCal, create a new calendar, called Birthdays, or whatever you want to call it. I use Caldav for calendar syncing, so I created this in my caldav account group, but it could be a local calendar instead.

Export the subscription Birthdays calendar (File->Export).
Import the resulting .ics file into your new Birthday calendar.
Delete all the local contacts in Address Book.

Voila. I'm back to contacts only in carddav, no local contacts, and I have a calendar with birthdays.

Of course this isn't perfect. My new birthday calendar doesn't get automatically updated when I change birthday info in Address Book. But that happens so infrequently that I can repeat the above process occasionally to keep birthdays up-to-date. I could probably even write a script to do it. But I'm hoping Apple will fix this soon enough to make that unnecessary.

Feb 5, 2011 12:00 PM in response to Simpsomatt

Besides being kludgy, there was another problem with the method I described above. The links from the birthday event in the calendar to the contact entry in address book didn't work, because they pointed to the local entries that were created for the conversion process and then deleted.

So I refined the process to avoid the need for creating the temporary local address book entries.

In Address Book, I export the CardDav contacts group into a vcards file. Then I run this file through a script that creates an .ics file with an event for each birthday in the address book. Then I import the .ics file into ICal.

Previously I stored the resulting Birthdays calendar as a Caldav calendar, as that's how I sync my other calendars between Macs and iPhone. But the problem with that is that the Address Book URLs are different on different machines, even though the contacts are coming from the same shared carddav source. So I just have to run the script on each of my Macs to create a local Birthdays calendar on each one. I don't need to worry about syncing the Birthday calendar with the iPhone, since the iPhone calendar already gets the info from Address Book as others mentioned earlier.

Mar 14, 2011 1:12 PM in response to Rolf Schneider

HI,

Apple's birthday calendar does not see non-local address books.

I wrote an application called Dates to iCal. The latest version of this application can transfer non local address book dates to ical. These include custom dates as well as birthdays. See: www.nhoj.co.uk/datestoical.

Best wishes

John Maisey

<hr />As I sell software on my site and ask for donations, the Apple Discussions Use Agreement requires that I state that I may receive some form of compensation, financial or otherwise, from my recommendation or link.

Aug 20, 2011 9:27 AM in response to felixrupp

Sorry for the delayed response. As I said, this is a quick hack of somebody else's work, so the end result isn't pretty, but it works.


http://www.jmatt.net/misc/vbook.php.txt

http://www.jmatt.net/misc/vcard.php.txt


vbook is the script you run. It requires vcard.


To execute it, first export your address book entries into a single vcf file. In Address Book, select the server account. In the menu , select File->Export->Export Group vCard and put the file wherever you want it. The script as written expects to find this file in the folder above the script, but that's easy to change.


After you have the file in the right place, execute the script. It writes to standard output, so you'll probably want to pipe it to an .ics file. Then import that file into iCal.


As I mentioned, if you have multiple Macs, you'll want to run this file on each one, and import the file into a local calendar. If you try to put it on a server and share it between Macs, the address book links in the calendar entries won't work.


Obviously, this is a minor PITA as you need to run it regularly if you have a lot of changes in your Address Book. It's not too bad for me, because I don't have a lot of changing info. I run it every few months, whenever I think about it, in case I've recently added a birthday to my address book.


I'm hoping that this will all become unnecessary when iCloud rolls out

Sep 6, 2011 10:58 PM in response to Rolf Schneider

Same problem with me. Iphone is fine but CardDav/CalDav on Lion doesn't show birthdays in the calendar. I have now set up a testuser and instead of creating accounts in the applications locally I used the account management in system prefs to set up an OS X server account for AB and ical. That one seems to work but I'm still in the trial and horror phase. Will keep you posted.

And while I'm here, does anybody happen to know which ports on my router I need to forward for this?

Birthdays of address book accounts others than local

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.