Supported Software
******************


Client applications
===================

The following software has been reported to work well with vdirsyncer,
however, none of it is regularly tested.


Calendars
---------

* khal, a CLI calendar application supporting vdir. You can use
  "filesystem" with it.

* Many graphical calendar apps such as dayplanner, Orage or
  rainlendar save a calendar in a single ".ics" file. You can use
  "singlefile" with those.


Task/Todo managers
------------------

The iCalendar format also supports saving tasks in form of
"VTODO"-entries, with the same file extension as normal events:
".ics". All CalDAV servers support synchronizing tasks, vdirsyncer
does too.

* todoman, a CLI task manager supporting vdir.  You can use
  "filesystem" with it.

  Its interface is similar to the ones of Taskwarrior or the todo.txt
  CLI app and should be intuitively usable.


Contacts
--------

* khard, a commandline addressbook supporting vdir.  You can use
  "filesystem" with it.

* contactquery.c, a small program explicitly written for querying
  vdirs from mutt.

* mates, a commandline addressbook supporting vdir.

* vdirel, access vdir contacts from Emacs.


Supported servers
=================

CalDAV and CardDAV servers not listed here may work anyway.


Radicale
--------

Radicale is a very lightweight server, however, it intentionally
doesn't implement the CalDAV and CardDAV standards completely, which
might lead to issues even with very well-written clients. Apart from
its non-conformity with standards, there are multiple other problems
with its code quality and the way it is maintained.

That said, vdirsyncer is continuously tested against the git version
and the latest PyPI release of Radicale.

* Vdirsyncer can't create collections on Radicale.

* Radicale doesn't support time ranges in the calendar-query of
  CalDAV, so setting "start_date" and "end_date" for "caldav" will
  have no or unpredicted consequences.

* Versions of Radicale older than 0.9b1 choke on RFC-conform queries
  for all items of a collection.

  You have to set "item_types = ["VTODO", "VEVENT"]" in "caldav" for
  vdirsyncer to work with those versions.


ownCloud
--------

Vdirsyncer is continuously tested against the latest version of
ownCloud:

   [storage cal]
   type = "caldav"
   url = "https://example.com/remote.php/dav/"
   username = ...
   password = ...

   [storage card]
   type = "carddav"
   url = "https://example.com/remote.php/dav/"
   username = ...
   password = ...

* *Versions older than 7.0.0:* ownCloud uses SabreDAV, which had
  problems detecting collisions and race-conditions. The problems were
  reported and are fixed in SabreDAV's repo, and the corresponding fix
  is also in ownCloud since 7.0.0. See issue #16 for more information.


nextCloud
---------

Vdirsyncer is continuously tested against the latest version of
nextCloud:

   [storage cal]
   type = "caldav"
   url = "https://nextcloud.example.com/"
   username = ...
   password = ...

   [storage card]
   type = "carddav"
   url = "https://nextcloud.example.com/"

* WebCAL-subscriptions can't be discovered by vdirsyncer. See this
  relevant issue.


FastMail
--------

Vdirsyncer is irregularly tested against FastMail. There are no known
issues with it. FastMail's support pages provide the settings to use:

   [storage cal]
   type = "caldav"
   url = "https://caldav.messagingengine.com/"
   username = ...
   password = ...

   [storage card]
   type = "carddav"
   url = "https://carddav.messagingengine.com/"
   username = ...
   password = ...


iCloud
------

Vdirsyncer is irregularly tested against iCloud.

   [storage cal]
   type = "caldav"
   url = "https://caldav.icloud.com/"
   username = ...
   password = ...

   [storage card]
   type = "carddav"
   url = "https://contacts.icloud.com/"
   username = ...
   password = ...

Problems:

* Vdirsyncer can't do two-factor auth with iCloud (there doesn't
  seem to be a way to do two-factor auth over the DAV APIs) You'll
  need to use app-specific passwords instead.

* Vdirsyncer can't create collections on iCloud.


DavMail (Exchange, Outlook)
---------------------------

DavMail is a proxy program that allows you to use Card- and CalDAV
clients with Outlook. That allows you to use vdirsyncer with Outlook.

In practice your success with DavMail may wildly vary. Depending on
your Exchange server you might get confronted with weird errors of all
sorts (including data-loss).

**Make absolutely sure you use the latest DavMail**:

   [storage outlook]
   type = "caldav"
   url = "http://localhost:1080/users/user@example.com/calendar/"
   username = "user@example.com"
   password = ...

* Older versions of DavMail handle URLs case-insensitively. See
  issue #144.

* DavMail is handling malformed data on the Exchange server very
  poorly. In such cases the Calendar Checking Tool for Outlook might
  help.


Baikal
------

Vdirsyncer is continuously tested against the latest version of
Baikal.

* Baikal up to "0.2.7" also uses an old version of SabreDAV, with
  the same issue as ownCloud, see issue #160. This issue is fixed in
  later versions.


Google
------

Using vdirsyncer with Google Calendar is possible as of 0.10, but it
is not tested frequently. You can use "google_contacts" and
"google_calendar".

For more information see issue #202 and issue #8.
