Make carddav work with roundcube 1.2

From HeepyWiki
Jump to: navigation, search

Install the carddav plugin:

cd /var/lib/roundcube/plugins
git clone https://github.com/blind-coder/rcmcarddav.git carddav
chown -R www-data:www-data carddav

There is a bug in the db init stuff in the plugin. In roundcube/plugins/carddav/dbmigrations/0000-dbinit/mysql.sql, in the "CREATE TABLE" for carddav_addressbooks, the field "last_update" is a TIMESTAMP value but it tries to set the default to '0' which is invalid. instead line 10 or thereabouts should read:

        last_updated TIMESTAMP NOT NULL DEFAULT '1970-01-01 00:00:01', -- time stamp of the last update of the local database

Connect to the database and drop all the carddav_* tables. They refer to each other so you may need to SET FOREIGN_KEY_CHECKS=0 before dropping them.

The plugin will try to initialize the tables the first time a user logs in, so log in and wait for it to run all the dbmigration scripts.

Once it shows your mailbox, go into settings->carddav and enter a carddav account. It will take a while to display the address book the first time as it has to fetch all the records and populate a local cache in mysql, which gets updated at the interval specified in the config.