CalDAV-Sync Task Support
This article gives an overview about task support in CalDAV-Sync. It is meant for testers or user who just want to know the status of task support. To become a tester, please contact me via email (http://dmfs.org/caldav/?contact).
If you don't want to test but you're interested in how it looks like and how it works, check this out: http://www.youtube.com/watch?v=Z3IJC6IcbiQ
The goal is to implement full support for VTODOs (and maybe later VJOURNAL).
Contents
Task App
The task app is designed to support multiple accounts and multiple task lists per account. It supports Android's account concept. The app still needs a lot of work, before it's ready to be released at Google Play.
At present, the task app supports only basic task features. Those are:
- Title
- Location
- Description
- Status (needs action, in process, completed, cancelled)
- Start date (supports all-day tasks and time zones)
- Due date (supports all-day tasks and time zones)
- Completed date (this doesn't support all-day dates by definition, see RFC5545), let me know if there is demand for that for other sync adapters (CalDAV-Sync won't support all-day completed dates)
- Percent complete
- Priority (none, low, medium, high)
- Privacy (none, public, private, confidential)
- URL
Here is what does not work yet:
- recurrence and recurrence exceptions
- alarms
- attendees
- comments
- attachments
- relations between tasks
- ... any other fancy task feature ...
Testers welcome
The task app and the CalDAV-Sync Task branch are still experimental and not ready for productive use. You're welcome to test both apps. Send me an email to get a copy of them. Please ensure you've read and understood the following paragraph before you install them.
Important notes for testers
Both, the task app and task support in CalDAV-Sync, are still in an early development stage.
- Do not test with important data! If you're testing with less important data ensure you have a recent backup. Even calendar sync should be considered experimental in the task sync version of CalDAV-Sync, because I had to change a few things that affected the calendar sync part too.
- Please always run a full test for the normal calendar sync first. There is no use of an app that can sync tasks when calendar sync is broken. Working calendar sync has the highest priority!
- Task sync is two-way. However, since recurrence exceptions are not supported yet, they might not be synced correctly (in particular it's possible that syncing them back to the server will void/invalidate your data).
- Since the task app is not for daily use yet, there is no database migration method yet. That means every update might invalidate the database schema. You may have to uninstall both apps when you get an update.
-
The task app has to be installed before you set up your account. At present it's not possible to sync tasks when the task app has not been installed at account creation time.The app should automatically create task lists now when the task app is present -
Syncing on regular intervals doesn't work for tasks yet.syncing tasks on regular intervals should work now. - When you send bug reports please be sure to include the server type and version you're using and test data if possible.
- Please send in emails with feature requests, change requests, suggestions ... but don't expect an answer. We'll record every request, but we're too busy to respond to every mail. Bug reports always have the highest priority.
Open Source
The task app will be released at GitHub under Apache 2 soon. There are just a few minor issues that have to be fixed first. Once that has happened contributors are welcome. Developers for other task font-ends and sync adapters are welcome too. The content-provider is designed to support Android's concept of accounts and any sync adapter.
Servers testing
Below is a list of servers/services that are used by testers. That means users of these servers/services received a copy of the test versions (it doesn't mean they've been tested successfully). Please consider to contact me for a test version if your server/service is not listed yet (of course you're also welcome to test the apps if your server is already listed). I'd like to have the apps tested with all popular servers/services before I make an official release.
- Apple Calendar Server
- CommuniGate Pro
- DAViCal
- eGroupware
- iCloud (tasks synced successfully, both ways)
- Kerio
- ownCloud
- SabreDAV
- SOGo (all supported features seem to work, both ways)
- Tine2.0
- Yahoo (seems to work well, both ways)
- Zimbra
- Zarafa
Final words
Please notice that it's intended to contribute the task app to the Android Open Source Project (if there is any interest at their side). That means the task app will target the "average user" and it won't provide features for "power users". The task back-end (i.e. the database) will support as many features as possible (including power user features), but the front-end app will be kept simple (following the spirit of the stock Android calendar app). There will be 3rd party apps that will have support for extended features.
Thanks to everyone who takes the time to test the app and/or sends bug reports or suggestions.
happy task-syncing everyone