Feature #247

CardDAV Support

Added by Arnold Schrader about 1 year ago. Updated 3 months ago.

Status:Closed Start date:03/28/2011
Priority:Normal Due date:
Assignee:- % Done:

100%

Category:-
Target version:0.7 - Eternal Sunshine

Description

Wouldn't it be possible to add CardDAV to radicale?

If I understand the file format correctly, CalDAV and CardDAV should be similar.

Other projects (ok, big one) supports also both formats...

History

Updated by Guillaume Ayoub about 1 year ago

  • Subject changed from CardDAV-Support to CardDAV Support
  • Target version set to 2.0

Adding a CardDAV support would definitely be a cool feature, not so hard to code. A branch on Gitorious (inactive now) has already been created by Thomas. This feature request is a good place to share ideas, and see if someone is interested.

Updated by Guillaume Ayoub 11 months ago

  • Target version changed from 2.0 to 0.7 - Eternal Sunshine
  • % Done changed from 0 to 20

Pieter is currently working on the CardDAV support on his carddav branch.

Updated by Guillaume Ayoub 11 months ago

  • Target version changed from 0.7 - Eternal Sunshine to 2.0

Updated by Ankan Banerjee 8 months ago

Guillaume Ayoub wrote:

Pieter is currently working on the CardDAV support on his carddav branch.

There has been no updates on Pieter's branch for a few months now, but I wanted to update here if anyone else comes looking.
I could get the the latest tarball of his cardav branch working with the iPhone/iPad (and not with the Addressbook on the Mac yet) with some work.
It took me some time to figure out, but the best way for getting it to work with the iPhone is to run the CardDAV server on port 8800.
The iPhone would then send an OPTIONS and then a PROPFIND request to "/.well-known/carddav" so I put in a couple of redirects in the code and then it started working fine (with Pieter's readme mentioning that an ADDRESSBOOK needs to be pre-created with a few lines in it).

Hope this helps someone.

Updated by Guillaume Ayoub 8 months ago

Thanks a lot for the message (so yes, it helps at least one person).

I've merged the master branch in the carddav's one and pushed the merge to a new branch on GitHub. It does not work for now, as I've not even launched radicale.py to test (it's a bit late right now, and I'm a bit lazy too). If you're interested in pushing your changes, feel free to fork the branch.

Of course, if you need some help, just ask, I'll do my best!

Updated by Ankan Banerjee 7 months ago

Guillaume Ayoub wrote:

I've merged the master branch in the carddav's one and pushed the merge to a new branch on GitHub. It does not work for now, as I've not even launched radicale.py to test (it's a bit late right now, and I'm a bit lazy too). If you're interested in pushing your changes, feel free to fork the branch.

Of course, if you need some help, just ask, I'll do my best!

Thanks for the merge!
Found some time today to test your branch and it didn't work with the same config as Pieter's branch - I think I need to look at ACL as I get unauthorized errors when it should be working. That said, I haven't given it a full shot. Hope to find some time soon and update here.
On another note, in the ACL module - the code for reading the file might need a fix as it doesn't work on Windows :)

In htpasswd.py, in the method has_right, I had to add a call to os.path.expander()

def has_right(owner, user, password):
"""Check if ``user``/``password`` couple is valid."""
for line in open(os.path.expanduser(FILENAME)).readlines():

Let me know if you want me to raise a bug, its Windows only probably.

Updated by Guillaume Ayoub 5 months ago

  • Target version changed from 2.0 to 0.7 - Eternal Sunshine
  • % Done changed from 20 to 60

A simple CardDAV support has been added in the GitHub carddav branch. It is known to work with Evolution, tests with other clients are welcome.

Updated by Guillaume Ayoub 4 months ago

Korganizer works with existing address books.

Updated by Guillaume Ayoub 4 months ago

  • % Done changed from 60 to 80

CardDAV-Sync seems to work for existing address books. With non-existing address books, the files created are calendars, not address books. Should be quite easy to fix.

Updated by Guillaume Ayoub 4 months ago

Merged into master

Updated by Martin Bächtold 4 months ago

I'm new to Radicale an got the latest version from the git master branch running with iCal 4.0.4 (1395.7) on Snow Leopard.

Is CardDAV working without existing address books now? If not, how would I create an addressbook in my ~/.config/radicale folder?

Updated by Guillaume Ayoub 4 months ago

I've never tested Radicale CardDAV support with iCal, and I'd really like to have reports about this.

If adding new address books does not work, you can create an addressbook in the "~/.config/radicale/collections/" folder. WARNING: the path of this folder has been changed one minute ago in master, please pull the latest changes and check your configuration file.

Updated by Martin Bächtold 4 months ago

Thanks for you help, but how do I create an addressbook in "~/.config/radicale/collections/" manually?

Updated by Guillaume Ayoub 3 months ago

  • Status changed from New to Closed
  • % Done changed from 80 to 100

The addressbooks and calendars can now be created thanks to simple GET requests (eg from a web browser). Getting "http://your.server:port/addressbook.vcs/" (don't forget the ".vcs" and the trailing "/") will create the addressbook for you!

Also available in: Atom PDF