This utility is a fancy wrapper around syncevolution
and cron
and it creates or removes connections to remote carddav/caldav servers. This utility was created specifically to work on Ubuntu Touch but it may work in different environments.
git clone https://github.com/UT-ilities/UTouch_CalDAV_and_CardDAV_synchronization.git
cd UTouch_CalDAV_and_CardDAV_synchronization
Configure server URLs, credentials, and naming preferences.
cp config-nextcloud-template.txt config-personal.txt
vim config-personal.txt
Executing setup-dav-sync.sh --contacts config-personal.txt
or setup-dav-sync.sh --calendar config-personal.txt
will read your configurations, connect to the specified carddav/caldav server, synchronize data and setup a cron job to keep this device in sync with the server.
Executing setup-dav-sync.sh --delete-contacts config-personal.txt
or setup-dav-sync.sh --delete-calendar config-personal.txt
will read your configurations, remove them from syncevolution
configurations and remove all data from this device only (the data on the server will not be affected).
Simple specify multiple configurations files and a single command will process them all.
setup-dav-sync.sh --contacts --calendar config-personal.txt holidays.txt team-awesome-schedule.txt
syncevolution
will relay this change to the carddav server as a 'modification' of the contact and it will not be deleted from the server and other clients synchronized with the server will still have this old contact.I do NOT recommend using this utility to synchronize calendars hosted in Nextcloud. The online accounts feature of Ubuntu Touch does a better job. I do recommend using this to synchronize contacts.
I am only able to test configurations and servers I use, which currently is Nextcloud. I will be happy to incorporate changes which allow a larger audience to benefit from this project.