From 50569114acdc64e7c7cae1498635d3f821517c30 Mon Sep 17 00:00:00 2001 From: Daniel Lange Date: Mon, 7 Mar 2016 15:53:16 +0100 Subject: Initial commit of the Faster IT roundcube_calendar plugin distribution This includes: * Kolab plugins 3.2.9 (calendar and libcalendaring) * CalDAV driver 3.2.8 * .htaccess files for at least some security * SabreDAV updated to 1.8.12 (Jan 2015 release) * Support for CURLOPT_SSL_* settings to allow self-signed certificates * Small fixes & improved documentation --- README.md | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000..ca01bd2 --- /dev/null +++ b/README.md @@ -0,0 +1,103 @@ +# Roundcube Calendar plugin with CalDAV support + +Using Kolab-plugins from https://git.kolab.org/ (based on v3.2.9) +Using the CalDAV driver from https://gitlab.awesome-it.de/kolab/roundcube-plugins/tree/feature_caldav (based on v3.2.8) + +Hosted at https://git.faster-it.com/roundcube_calendar +Mirrored at https://github.com/fasterit/roundcube_calendar + + +## About + +Roundcube is an awesome web mailer and a good platform for calendaring as the work from +Kolab Systems AG shows. Their Roundcube plugins (primarily developed to support the +Kolab Groupware server) have been extended by "Awesome IT" (a GbR out for Karlsruhe, Germany) +to support CalDAV calendars. + +Getting this all to work is a bit of a hassle so we - Faster IT GmbH - decided to +combine the various parts into a distribution when we were asked to implement this for a nonprofit company. +For the public benefit we re-publish the work under the origiginal AGPLv3+ license. + +This version is compatible with the [rcmcarddav plugin](https://github.com/blind-coder/rcmcarddav) +from [Benjamin Schieder](http://www.benjamin-schieder.de/carddav.html). +We hacked this by moving the ancient SabreDAV version the WebDAV driver uses into its own +`OldSabre` namespace so it does not collide with rcmcarddav's version. +We updated it to 1.8.12 which is the last version of the 1.x series (SabreDAV is at 3.1 now). + +That way you can have both CalDAV and CardDAV supported simultaneously in Roundcube by Free Software. + +There is work underway at "Awesome IT" to update SabreDAV to a recent version +(see their [gitlab](https://gitlab.awesome-it.de/kolab/roundcube-plugins/commit/5a0825b89a0b0183bf8469e66b667e294309b609)) +but at the time of writing this (2016-03-07) it has not yet been completed. + + +## Installation + +Clone the repository and copy `calendar` and `libcalendaring` to the `plugins` directory +of your roundcube installation: + + $ git clone git://github.com/fasterit/roundcube_calendar.git + $ cd roundcube_calendar + $ cd -r calendar/ libcalendaring/ /var/www/htdocs/roundcube/plugins/ # adjust as needed + +Copy and edit the supplied config.inc.php.dist: + + $ cd /var/www/htdocs/roundcube/plugins/ + $ cp config.inc.php.dist config.inc.php + $ $EDITOR config.inc.php + +Change the driver to include caldav (this is why you use this version of the calendar +plugins, right?); + + // backend type (database, kolab, caldav, ical) + $config['calendar_driver'] = array('database', 'caldav'); + $config['calendar_driver_default'] = 'caldav'; + +Provide a unique crypt_key. This is used to scramble the passwords for CalDAV calendars +before they are stored into the database: + + // Crypt key to encrypt passwords for added iCAL/CalDAV calendars + $config['calendar_crypt_key'] = ""; + +Now we need to import the database tables for the database driver (these tables are also required +for CalDAV!) and the caldav driver. Your database name () will usually be roundcubemail or roundcube. +Check with `mysql -e 'show databases;'`. + + $ mysql < /var/www/htdocs/roundcube/plugins/calendar/drivers/database/SQL/mysql.initial.sql + $ mysql < /var/www/htdocs/roundcube/plugins/calendar/drivers/caldav/SQL/mysql.initial.sql + +Finally enable the calendar plugin in your **global** roundcube `config.inc.php`: + + $ $EDITOR /var/www/htdocs/roundcube/config/config.inc.php + +Add 'calendar' to the list of active plugins: + + $config['plugins'] = array( + (...) + 'calendar', + ); + + +## Usage + +After installation, add a CalDAV Calendar by going to the Calendar view and clicking the [+] in the +lower right corner. Select CalDAV Calendar and provide a name, URL and username / password for your calendar. + +In case you want to add calendars that are served with self-signed SSL certificates, be sure to set + + // Set to false to allow CURL to connect with SSL hosts that it can't verify the certificates from + // e.g. for self-signed certificates. + // technical note: This sets CURLOPT_SSL_VERIFYPEER _and_ CURLOPT_SSL_VERIFYHOST. + $config['calendar_curl_secure_ssl'] = false; + +in `calendar/config.inc.php`. And know what you are doing. + + +## Debugging + +See `/var/www/htdocs/roundcube/logs/` for errors. + +## Support + +There is none. Really. This code is not for the faint of heart. +Patches welcome. -- cgit v1.2.3