A calendar module for Roundcube. Fork of Texas Edition, which in turn is a fork of the original Kolab calendar.
This plugin supports CalDAV (Calendaring Extensions to WebDAV).
Important: This plugin doesn't work with the Classic skin of Roundcube because no templates are available for that skin. Use Roundcube skins_allowed
option to limit skins available to the user.
For some general calendar-based operations such as alarms handling or iCal parsing/exporting and UI widgets/style additional library plugins are required and must be installed:
For recurring event computation, some utility classes from the Horde project are used. They are packaged in a slightly modified version with this plugin.
- Add urls to packages repositories to the composer.json file
{ "type": "vcs", "url": "https://github.com/INDEVOPS/roundcube_calendar" }, { "type": "vcs", "url": "https://github.com/INDEVOPS/roundcube_libcalendaring" }
- Add calendar package to the composer.json file
composer require indevops/calendar
- Initialize the calendar database tables
bin/initdb.sh --dir=plugins/calendar/drivers/caldav/SQL
For a manual installation of the calendar plugin (and its dependencies), execute the following steps. This will set it up with the database backend driver.
- Get the source from git
cd /tmp git clone https://github.com/INDEVOPS/roundcube_calendar.git git clone https://github.com/INDEVOPS/roundcube_libcalendaring.git git clone https://git.kolab.org/diffusion/RPK/roundcubemail-plugins-kolab.git cd /<path-to-roundcube>/plugins cp -r /tmp/roundcube_calendar/. calendar cp -r /tmp/roundcube_libcalendaring/. libcalendaring cp -r /tmp/roundcubemail-plugins-kolab/plugins/libkolab . libkolab
- Create calendar plugin configuration
cd calendar/ cp config.inc.php.dist config.inc.php edit config.inc.php
- Generate the autoload.php by running
composer dump-autoload
- Include autoload.php in Roundcube autoload file
cd ../../ edit vendor/autoload.php add require_once __DIR__ . '/../plugins/calendar/vendor/autoload.php';
- Initialize the calendar database tables
bin/initdb.sh --dir=plugins/calendar/drivers/caldav/SQL
- Build css styles for the Elastic skin
lessc --rewrite-urls=all plugins/libkolab/skins/elastic/libkolab.less > plugins/libkolab/skins/elastic/libkolab.min.css
- Enable the calendar plugin
edit config/config.inc.php
- Add 'calendar' and dependencies to the list of active plugins:
$config['plugins'] = array( (...) 'calendar', 'libcalendaring', 'libkolab' );
0.7
- Add ability to accept attached iTip/ics files
- Fix invitation handling
- Remove hardcoded dependencies
- Remove obsolete packages from
composer.json
- Break
calendar.php
file into smaller components - Remove unused drivers for calendars (database, ical, kolab, ldap)