roundcube / carddav
CardDAV adapter for connecting to CardDAV-enabled addressbooks
Installs: 39 379
Dependents: 0
Suggesters: 0
Security: 0
Stars: 259
Watchers: 31
Forks: 81
Open Issues: 7
Type:roundcube-plugin
Requires
- php: >=7.4.0
- ext-gd: *
- ext-json: *
- ext-pdo: *
- mstilkerich/carddavclient: ^1.4.0
- psr/log: ^1.0 || ^2.0 || ^3.0
- roundcube/plugin-installer: ^0.3.0
- sabre/vobject: ^3.3.5 || ^4.0.0, !=4.5.2
Requires (Dev)
- aodto/phasher: dev-master
- dealerdirect/phpcodesniffer-composer-installer: >= 0.7.0
- phpcompatibility/php-compatibility: dev-develop
- phpunit/phpcov: *
- phpunit/phpunit: ~9
- psalm/plugin-phpunit: *
- vimeo/psalm: ~5.14.0
This package is auto-updated.
Last update: 2024-12-05 17:02:06 UTC
README
Requirements
RCMCardDAV 5.x requires at least PHP 7.4. Dependencies are managed by composer, if you are interested in a list, see the composer.json file.
The supported versions of roundcube and supported databases can be found in SUPPORTED_ENVIRONMENT.md.
Installation / Uninstallation
See INSTALL.md for (un)installation instructions.
Documentation
A (hopefully growing) documentation for various topics is found in the doc folder. Currently the following is available:
Upgrade Notes
Generally (even for patch releases), when upgrading RCMCardDAV, log off from roundcube before performing the upgrade, and login again after the upgrade has been performed. During login, a potentially necessary database schema upgrade is performed, therefore the login step is important to finish the upgrade.
Upgrading from 4.x
-
Database migration happens automatically. However, the assignment of addressbooks to accounts uses a heuristic (see CHANGELOG.md for details) that can produce extra accounts for user-created accounts. In this case, the user will have to cleanup manually by deleting those accounts in the settings interface.
-
The plugin configuration changed in a backwards incompatible way for some configurations. Please read ADMIN-SETTINGS.md for the full details on the new configuration options. Particularly mind:
- The semantics of the URL of a preset changed for the special case where an addressbook outside the user's
addressbook home was directly specified by URL (use case: shared addressbook that is not shared into the user's
namespace). The new way to specify addressbooks that cannot be discovered is to use
extra_addressbooks
. - The discovery URL for a preset must now be given via the
discovery_url
preset attribute,url
is not available in the preset anymore and used for the URLs of extra addressbooks. - The
carddav_name_only
option was removed. - The
rediscover_mode
option was removed. Now you can configure the new optionrediscover_time
to specify the time interval after that an addressbook re-discovery shall be performed.
- The semantics of the URL of a preset changed for the special case where an addressbook outside the user's
addressbook home was directly specified by URL (use case: shared addressbook that is not shared into the user's
namespace). The new way to specify addressbooks that cannot be discovered is to use
Upgrading from 3.0.x
- Database migration happens automatically.
- If you want more verbose than default logging, this must now be configured in
config.inc.php
. See the distributed fileconfig.inc.php.dist
for examples. - For MySQL / Maria DB: If your database was created with MySQL 5.7.8 / MariaDB 10.2.1 or earlier, it likely uses the
COMPACT
row format. This makes a DB migration fail, because the index size is exceeded. Migration 12 since rcmcarddav 4.3.0 converts the row format to the current defaultDYNAMIC
, but some additional settings are required in the MySQL / Maria DB configuration for increase the index key limit to 3072 bytes. See INSTALL.md for these settings.
Upgrading from 2.0.x
There is no supported upgrade path from the 2.0.x version. You need to manually remove RCMCardDAV 2.0.x, drop its tables from your database and start with a fresh installation.
Upgrading from 1.0
There is no upgrade path from the 1.0 version. You need to manually remove RCMCardDAV 1.0, drop its tables from your database and start with a fresh installation.