Birthday Calendar with ownCloud via CalDAV

Thunderbird Lightning

Not a big issue in this blog post but an important one. Maybe I can save you some valuable time if you ever look for such a function.

As you know I’m a heavy user of ownCloud and you also might know that synchronisation is a big topic for me. And the third thing you should know that forgetting a good friend’s birthday really su… well, it’s no good style. This almost happened to me some days ago because I couldn’t check it on my Notebook with Thunderbird. My setup looks like this: All contacts (with birthday tags) in ownCloud, and these CardDAV address books are synced with my Android phone and Thunderbird/SOGo-Connector on my notebook, as well as the CalDAV calendars with Lightning.

For Android there are several free software apps which enable the inclusion of birthdays from your contacts into any calendar app. Some calendar apps even can do it theirselves. But for Thunderbird there are only some outdated add-ons. All of them don’t work with TB31 anymore and if you modify the install.rdf-file to make them run anyhow, they’re very buggy or just nonfunctional. And if you look in your ownCloud instance (where contacts‘ birthdays are visible in the calendar tab) for a downloadable/syncable calendar you’ll reach the same conclusion like me: There is none.

But there is!
And I only detected it while digging in some github issue threads. This post contains the rescuing link to a CalDAV/ICS calendar in any ownCloud version (I tested it in 7.0.2). Just modify and use following address in any application which supports CalDAV sync:

http(s)://YOUR-OC-URL/remote.php/caldav/calendars/YOUR-USER/contact_birthdays

And you know what? It works like a charm! No need for external add-ons or apps, no need for manual creation of birthday reminders, no need for apologising for (almost) missed birthdays. I just wonder why ownCloud hasn’t included this in either the webpanel or the documentation. It’s a well-working feature since at least one year, so why not including it officially? And if it’s a calendar technically, then it should also be possible to disable displaying the contacts‘ birthdays in the webpanel calendar app – a still non-existent „feature“.

So next time you have no excuse for forgetting a birthday – except for your ownCloud server’s outage ;)

There are 9 comments

  1. Gianfranco /

    Hello Max and thanks for this useful post.
    I realized that this well working feature is the reason why, when I create an account with DavDroid in my phone to sync with the server, it shows me one extra calendar I never created in the server: contact_birthdays.
    The only problem is that this calendar is read only. Don’t know why and, IMO, it’s a shame.
    Ciao!
    Gianf:)

    1. Max / Post Author

      Hi Gianfranco,
      thanks for the feedback. What do you want to edit in this calendar?
      It only seems to extract the birthdates from all your contacts, so if you want to edit a date just change it in your contact.

      Changing the default description is possible by editing the language files in your server installation. For example in German:

      ./apps/contacts/l10n/de/contacts.po: msgstr "Geburtstag von {name}"./apps/contacts/l10n/de.php: "{name}'s Birthday" => "Geburtstag von {name}"

      1. Gianfranco /

        Hi, after having a better look at it, it turned out it’s possible to add/delete reminders and yes, if I have to add another birthday I can do it by adding the contact and not by adding an event in a read only calendar. :)
        So, all the use cases are covered.
        Thank you!
        Gianf:)

  2. Pingback: OwnCloud Geburtstagskalender via CalDAV › Web Development Blog /

  3. Stan /

    Thanks, I was exactly looking for the name of this calendar and now I found this information here and in the issue tracker of owncloud: https://github.com/owncloud/contacts/issues/67

  4. Kate /

    Hi Max and Gianfranco, how did you manage to add reminders to the read only birthday calendar? Thank you! :-)
    Kate

    1. Max / Post Author

      Hi Kate, I’m afraid I cannot help you in detail since I switched to Seafile and abandoned my ownCloud instance. But I dare to remember that there’s a file where you can even define the days before the reminder. So maybe you grep a little bit?

      If it doesn’t help, I’m using the Thunderbird Add-On „Birthday Reminder 1.0.6.5“ which takes the birthdays from my contacts (I’m syncing them with Baikal server now) and creates calendar entries and reminders according to my preferences. These entries can be written to any synced calendar and are therefore even visible on other devices and applications.

      I hope this helps you.

  5. Frank Siedler /

    Hi,

    that birthday calendar ist a great feature. But something is still missing. The reminder. I can’t setup a reminder, that reminds me at the day at always the same time, or for example 2 days before.

    Is there a functionality to setup that?

    Many greetings, Frank

    1. Max / Post Author

      Hi Frank, unfortunately I can only reply with the same answer that I gave Kate. I’m not using ownCloud anymore but Baikal. The reminders I can configure with the Thunderbird Addon „Birthday Reminder“. I hope this helps!

Comment is closed.