-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CardDAV and CalDAV Support #120
Comments
I will look into it. Thanks for the suggestion! |
Would be nice to be able to integrate OwnCloud, which supports CardDAV and CalDAV. |
caldav + cardav it's a must have ! i desperately search a web-mail how integrate this. |
As there is already a integration of GMail contacts, this may be not all
too painful to achieve. And, yes, Cypht is coming in leaps and bounds -
thanks Jason!
C.
|
+1 for CardDAV and CalDAV modules. Additionally it could be a module for OwnCloud/NextCloud with checkboxes for those different options. |
My comment won't probably help, but it seems other projects use the sabredav client to connect to caldav/carddav servers. Maybe you could get inspiration from there. |
@renaudallard I appreciate the feedback, I will check sabredav out. Thanks again! |
I don't know if this is still something too look at but I have investigated most of them in the past and the most flexible solution was SQL based: http://sabre.io/baikal/ This was in the past on it's own domain bailkal-server.com |
FWIW, I have started on some low level support for WebDav related protocols:
At first I'm hoping to support read-only CardDav sources for contacts as that (I think) will be the easiest to integrate to get started :) |
Initial CardDav contact support is pushed to the master branch! I used Radicale to test against, and the Sabredav docs to figure out the discovery flow. I'm sure there will be compatibility issues but it's a start! |
It's a bug? I can configure the CardDav Addressbooks (PW/Username), but a can't see 'Addressbooks' on navigation. |
@omocinteractive CardDav addresses should be visible on the Contacts page from the Main menu. |
@omocinteractive you need to enable both the contacts and carddav_contacts module sets in your hm3.ini file, and re-run the config gen script. The contacts module is a generic module that all the other contacts sources use (carddav, ldap, local, gmail). |
@omocinteractive The module set you need is is "contacts", not "local_contacts". Local contacts is another contact source backend. https://github.com/jasonmunro/cypht/blob/master/hm3.sample.ini#L520-L525 |
... ah, okay. Now, 'contacts' is visible ;) But no contacts. I will have a look into the logfile later ... |
I'm not terribly surprised. I have only done very limited testing with this. I will add some additional debugging to the flow because right now it's not very obvious where things fail. Thanks for trying it out! |
@omocinteractive Just pushed a bunch of carddav related debugging to the master branch. If you run Cypht in debug mode, and access the contacts page, you should get a bunch of carddav related debug statements in your PHP log. |
... okay, in the moment i get this: stderr: ), referer: https://www.domain.tld/mail-debug/?page=contacts |
[Mon Nov 12 21:23:38.391804 2018] [fcgid:warn] [pid 29591] [client 79.197.27.211:33394] mod_fcgid: stderr: [13] => CARDDAV: Sending discover XML: <d:propfind xmlns:d="DAV:"><d:prop><d:current-user-principal /></d:prop></d:propfind>, referer: https://www.domain.tld/mail-debug/?page=contacts |
... but no problem, no stress ;) I set some other debug-points on the fast, but i have to sleep. Good night! |
@omocinteractive so this is the first step in the discover process. We take the url setup in the carddav_contacts.ini file, and send a PROPFIND request that should return XML defining the url path of the authenticated user. Then we use that to find the url of the addressbook(s), then finally we get the address vcards and parse them. My guess here is that our XML parsing is not working properly and not finding the first url path we need. There should be another debug entry when this happens like: CARDDAV: find for "path" failed in xml: "xml" where "path" is the xpath we are using to search the xml, and "xml" is what your carddav server responded with. To troubleshoot this further, I need to see the xml that is returned here. Thanks! |
<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:card="urn:ietf:params:xml:ns:carddav" xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns"> |
@omocinteractive that was very helpful, thanks for the follow up. Our XML parsing was failing us. I just pushed a fix to the master branch that properly handles this response, and I think it might get the carddav module set working. If you can retest with the latest that would be great. Thanks! |
Preliminary support for add/update/delete of carddav contacts is pushed to master. The edit form only supports a single E-mail, phone number, and display name for now, however the code is smart enough to maintain the other existing fields of the contact on update (they are not lost). Along with this update are a few other contacts related fixes and clean-ups. |
CalDAV and CardDAV are not yet supported by Cypht but here is some relevant info: Tiki Wiki CMS Groupware now bundles Cypht, getting it via Packagist: Also, CalDAV and CardDAV support has been added to Tiki via SabreDAV: These additions are quite new so still a little rough around the edges :-) But we are committed to progressively improve the integration, and the components. Additionally, Jason has gracefully accepted to change the license from GPL to LGPL to facilitate usage by the Tiki community. This has a nice side-effect that code can easily be shared between the 2 projects. Thus, the Tiki CalDAV/CardDAV code could be ported to Cypht. These are the big picture goals: We are looking for developers and testers. Please join us: Thanks! |
Related: #12 |
Initial support for contacts from a CardDav server (read-only) |
https://packagist.org/packages/sabre/dav is now at 6.3 million installs, and would make sense to have read and write CalDAV and CardDAV. |
I've started experimenting with this great project. Looking forward for CalDAV support. |
Status report on this task: I understand https://github.com/cypht-org/cypht/tree/master/modules/carddav_contacts is functional (last commit seemed to make user happy) For https://github.com/cypht-org/cypht/tree/master/modules/calendar some work is needed. Any volunteers? I use Cypht within Tiki so I'd rather focus my energies there, and have nice features like https://doc.tiki.org/Calendar-Invitations-by-email And more calendar features are on the way, like more flexible recurrence, and appointment slots. But I understand and support that some will want a better calendar in standalone Cypht (And I encourage that) |
The Tiki calendar is getting: CalDAV scheduling, free-busy, iTip and appointment slots: Cypht is well integrated within Tiki (like Roundcube within Kolab) |
Dear Jason,
As CardDAV and CalDAV are pretty much standard among mobile devices (see the great DAVDroid app), it may be good to star thinking about CardDAV support for the addressbook (as a module) and CalDAV support for the calendar (again, as a module).
This would allow easy interaction with other applications, too.
Nothing urgent, just a thought. :-)
Thanks so much!
Chris
The text was updated successfully, but these errors were encountered: