Caldav Calendar plugin for use with NextCloud

Installs: 262

Dependents: 0

Suggesters: 0

Stars: 18

Watchers: 12

Forks: 11

Open Issues: 9

Type: roundcube-plugin

0.6.0 2019-12-09 03:00 UTC


Elastic Skin Support now available

I made this as a working, out of the box, calendar for use with Roundcube (Version 1.4.1) and Nextcloud (Version 17 is the latest known working).

I will update this when needed by deprecated purposes or when Nextcloud changes their sabre version.

This is a fork of Kolab and FasterIT calendars combining the best of both and using the sabre from Nextcloud to work with it's version of sabre. It will sync already existing calendars. If you want more than the default, you must add calendar within Nextcloud and then go back to Roundcube and it should be there automatically. From Roundcube, you can add, edit and delete events and will be in sync with Nextcloud.

This is also compatible with RCMCARDDAV 3.0.3 as I use it to sync my contacts with Nextcloud to Roundcube as well.

This was tested using Roundcube 1.4-RC1 and PHP 7.2.11.

For Roundcube 1.3 download ver 0.4 here https://github.com/texxasrulez/Caldav_Calendar/releases/tag/0.4

Latest merge with Kolab 3.5.2

I have kept Kolab libkolab folder with this fork to keep compatible with kolab, just with a better caldav implementation.

Installation is pretty straight forward. I wouldn't use composer to install, just download repo from github and follow the directions below:

Copy calendar, libcalendaring and libkolab folders to Roundcube Plugin folder, copy config.inc.php.dist to config.inc.php, located in root of calendar directory, and change:

  • domain.ltd to your URL. 'These URL's are already configured for the default calendar url for Nextcloud.'
  • calendar_crypt_key to any random sequence of characters.
  • calendar_itip_smtp_server to the SMTP server of yours or set it empty ''.

Import sql schemas located in /driver/ folders to your database. Import the corresponding (MySQL, Postgres) initial SQL schema located in calendar/drivers/caldav/SQL/ folder to your roundcube database.

Add "calendar" to $config['plugins'] in your Roundcube main config file and you are set.


Your username and password must be the same for Nextcloud and Roundcube to work properly.

  • Incompatible libcalendaring with Tasklist (WIP to make compatible) Fixed!!!!
  • Will not create new calendar from Roundcube GUI.
  • Itip does not send reply to event organizer using RC1.3. Works in RC1.2.4. Fixed!!!!
  • Recurring events marked as "All Day Events" will be a day early the following years. Fixed!!!!
  • Database driver does not work. Birthdays are the issue due to being all day. Fixed!!!

User Discovered Issues:

  • Check Calendar shows Error 500. Fixed!!!!

If anyone would like to help out to make oauth work and other features, I would appreciate it.


  • Ability to add new calendar to Nextcloud from Roundcube Calendar GUI.
  • Oauth support. (TBD. My skills aren't the best. :-( .... I need some help)
  • Assign random colors to autodiscover calendars.
  • Remove mcrypt and replace with openssl. Fixed!!!!

Random Color Quickie:

  • Multiple Calendars saved with same color. (Import into database UPDATE caldav_calendars SET color = substring(MD5(RAND()), -6); to assign radmon colors after initial sync of calendars)