Make carddav work with roundcube 1.2

From HeepyWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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.