mirror of
https://github.com/samsonjs/vdirsyncer.git
synced 2026-04-20 13:15:52 +00:00
25 lines
1 KiB
Markdown
25 lines
1 KiB
Markdown
This is work-in-progress.
|
|
|
|
A basic syncronization utility for [vdir](https://github.com/untitaker/vdir).
|
|
Should be able to sync both CardDAV and CalDAV in the end.
|
|
|
|
## How to run
|
|
|
|
Copy `config.example` to `~/.vdirsyncer/config` and edit it. You can use the
|
|
`VDIRSYNCER_CONFIG` environment variable to change the path vdirsyncer will
|
|
read the config from.
|
|
|
|
Run `vdirsyncer --help`.
|
|
|
|
## A little bit about the code architecture
|
|
|
|
There are storage classes which control the access to one vdir-collection and
|
|
offer basic CRUD-ish methods for modifying those collections. The exact
|
|
interface is described in `vdirsyncer.storage.base`, the `Storage` class should
|
|
be a superclass of all storage classes.
|
|
|
|
One function in `vdirsyncer.sync` can then be called on two instances of
|
|
`Storage` to syncronize them, due to the abstract API storage classes are
|
|
implementing, the two given instances don't have to be of the same exact type.
|
|
This allows us not only to syncronize a local vdir with a CalDAV server, but
|
|
also syncronize two CalDAV servers or two local vdirs.
|