I followed that tutorial a while back and retried it today because you pointed it out, but without any luck I believe because they use an old version of Roundcube and an old version of OS X Server.
Webmail just stopped functioning completely just as it did before, so I reverted to the main.inc.php.bak file that I made prior to trying the suggested link.
I'm still working on the issue with Roundcube 0.8.1 and Graviox carddav plugin.
I think we have similar of not the same issue as with Davical Server
I tried their suggestions.. but still doesn't work..
but i'm sure it has to do with the PROPFIND....
I was thinking of installing somekind of PHP debugger and see what's going on...
Manage to get carddav on roundcube. (refer to https://discussions.apple.com/message/20246429#20246429 for setting up roundcube)
1.downloading the latest version carddav plugin at http://www.crash-override.net/carddav.html
2.opening it would give you a carddav_0.7.0 folder
3.rename the folder to 'carddav' and moved the folder in to plugins folder of roundcube
4.run sudo for your roundcube database(must be the same as your roundcube database.)
For postgre sql example:
sudo psql -U roundcube -d rcwebmail
\c - roundcube
5. edit main.inc.php
sudo nano main.inc.php
Look for under plugins:
$rcmail_config['plugins'] = array('managesieve','autologon');
add carddav in
$rcmail_config['plugins'] = array('managesieve','autologon','carddav');
Ctrl-x (control and "x" key at same time)
Press "Return" Key
Speacial thanks to Gerry.
I am finally sending log webmail:
[22-Dec-2012 16:46:05 UTC] MDB2 Error: insufficient permissions (-27): _doQuery: [Error message: Could not execute statement]
[Last executed query: EXECUTE mdb2_statement_pgsql_35ae355a113e64cecdea63f9a4553d1e2e073a76a ('10')]
[Native message: ERROR: permission denied for relation carddav_addressbooks]
[22-Dec-2012 17:46:05 +0100]: DB Error: MDB2 Error: insufficient permissions Query: _doQuery: [Error message: Could not execute statement] [Last executed query: EXECUTE mdb2_statement_pgsql_35ae355a113e64cecdea63f9a4553d1e2e073a76a ('10')] [Native message: ERROR: permission denied for relation carddav_addressbooks] in /usr/share/webmail/program/include/rcube_mdb2.php on line 713 (GET /webmail/?_task=settings)
Thank you Tom
I managed to find something that make it work. Will like to add on my post on Dec 21, 2012 9:06 PM.
After you are done with my post on Dec 21, 2012 9:06 PM. Log on to Roundcube.
under setting look for card dav.
You will be ask to key in the name of the addressbook (will be the name of the addressbook in roundcube), username and password, url:
then save you will see the carddav address book under Address book. cheers!
check this out. maybe it would help.
you can also check the link below. I found my solution for it.
For those who are still struggling.
Comment out the following line within your carddav_backend.php file:
// curl_setopt($this->curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
It will connect at least. Now you'll face some sync issues. Replace this line:
$response = $this->query($this->url, 'PROPFIND');
With these lines:
$content = '<?xml version="1.0" encoding="utf-8" ?>
<D:sync-collection xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:carddav">
$content_type = 'application/xml';
$response = $this->query($this->url, 'REPORT', $content, $content_type);
Now you can sync, view, modify and delete.
Finally I cannot add contact. But I am pretty close to that as well.
To add new contacts:
Modify function add($vcard) and add below this line:
$vcard_id = $this->generate_vcard_id();
The following line:
$vcard = str_replace('END:VCARD' , 'UID:' . $vcard_id . "\n" . 'END:VCARD', $vcard);
Now you can create new contact. It will still generate an error but the card itself will be created on your server. To remove that error message change the following line within carddav_addressbook.php inside carddav_add($vcard) function:
Now everything should work. Create, modify and delete. Enjoy!