nextcloud / deck

πŸ—‚ Kanban-style project & personal management tool for Nextcloud, similar to Trello
https://apps.nextcloud.com/apps/deck
GNU Affero General Public License v3.0
1.21k stars 276 forks source link

Integrate with Nextcloud CalDAV API [$185] #15

Closed juliusknorr closed 3 years ago

juliusknorr commented 7 years ago

This issue is about integrating deck with Nextclouds CalDAV API.

Current plan from the discussion below:

Deck CalDAV Tasks
Board VCALENDAR List
Stack VTODO without RELATED-TO property Root-Task
Card VTODO with RELATED-TO (UUID of the Root-Task / Stack) Subtask
Tags CATEGORIES or custom implementation (Nextcloud tagging system) Currently uses CATEGORIES, integration with Nextcloud tags would be better, see https://github.com/nextcloud/tasks/issues/89
Assigned users ATTENDEE or custom implementation ATTENDEE or custom implementation, see https://github.com/nextcloud/tasks/issues/72
Recurring stacks & cards RRULE Recurring tasks & subtasks, see https://github.com/nextcloud/tasks/issues/34
Attachments ATTACH or custom implementation ATTACH or custom implementation, see https://github.com/nextcloud/tasks/issues/91

Tags, assigning users, attachments and recurrence is not supported by Tasks yet either, but it would make much sense to implement these features. And if we see that it is not really possible to implement this with pure CalDAV I would be open to implement it without syncing it via CalDAV and have it only available in the webinterface. This would still be better than not having it at all in Tasks and would not limit Deck.

  1. Expose deck boards as VCALENDAR, try to map as much data from deck to the VTODO (read only access) #1545
  2. Allow updating VCALENDAR entries, try to map as much as possible from vtodo to the deck database and store the rest as plain vtodo data, so we can still push it out over CalDAV (write access) #2399
  3. Deck data could be moved to the DAV backend.
juliusknorr commented 4 years ago

Hey there,

I'd just like to let you know that due to the ongoing issue with Bountysource we're discussing ways to move to a different platform. As it looks right now, Bountysource might claim some of the money that was contributed by the community. We will try our best to prevent that. Historically we – the Nextcloud GmbH employees – simply put the claimed bounties back to other tickets until one was solved by a community member. So the money was always from the community and for the community. We'll therefore move to a better platform and currently don't post any new bounties until this situation is resolved. The current goal is to move/donate the money to Nextcloud include but details will follow in the forum post.

Hope this makes sense. If you have any questions please ask them on the forum. This comment will be copy-pasted to all open issues with bounties.

makayabou commented 4 years ago

Will wait for it to send a bounty, then. thanks

rfc2822 commented 4 years ago

I have just tested CalDAV read access and it works fine with DAVx5!

Just wanted to now that on Android / with the OpenTasks API, task lists can't be set as write-only (yet): https://github.com/dmfs/opentasks/issues/851

So people can edit/modify tasks locally, but the changes can't be synchronized to the server. β†’ Write access over CalDAV would be really nice :smirk:

juliusknorr commented 4 years ago

Moved out https://github.com/nextcloud/deck/issues/2399 for the write support so we have an individual ticket to track this.

q-wertz commented 4 years ago

Didn't find this in the discussions and not sure if it is worth an issue. So far all the tasks of a Deck where one is participant are published as ToDo. Wouldn't it be more straight forward to only see the tasks one is assigned to? It makes it quite confusing to have now dozen of Tasks one is not assigned to.

alphashuro commented 3 years ago

Is the bounty for this still open?

stefan-niedermann commented 3 years ago

@alphashuro please read https://github.com/nextcloud/deck/issues/15#issuecomment-645919501

TL;DR: No, please do not post further bounties on Bountysource for any Nextcloud related issue.

juliusknorr commented 3 years ago

Closing this as the first integration part is done and we will track write access in https://github.com/nextcloud/deck/issues/2399

devvv4ever commented 3 years ago

Having a CalDAV integration is crucial for us, so I was thinking a little bit about the integration... In Oct 2017 you guys were discussing about whether or not categories should be used for stacks. I'd strongly vote for it.

The reason is that you should keep in mind how a client, that isn't aware of a Kanban-style tasks list, would represent these tasks. Just think of the "demo board":

demo board

Creating a VTODO per card would create the tasks "Write a press release", "Take nice screenshots", "Write a blog" and "Think of a slogan". This is without any doubt what a user would expect. But also creating a VTODO per stack would also create the tasks "Todo", "In progress" and "Done". What are these tasks supposed to represent? Those tasks can't be assigned to anyone, they can't ever be completed, because that's not what stacks are for, and they will dangle around in every other CalDAV client.

Just a small addition here: why not considering implementing https://tools.ietf.org/html/rfc5545#section-3.6.3 VJOURNAL for such things? VJOURNAL is part of the CalDAV API and it can be used more straightforward as a note or a "simple" task without the need of an end-date or progress. With the RELATED-TO field they could be assigned to an existing VEVENT or VTODO. We hope to get VJOURNAL synchronization into DAVx5 in the future. We want to get that into a supporting app that can display VTODO and VJOURNAL at the same time.

HLFH commented 3 years ago

@devvv4ever Create a feature request?

PhrozenByte commented 3 years ago

@HLFH See https://github.com/nextcloud/deck/issues/2399#issuecomment-822433043, it's an implementation detail of this partially implemented feature, i.e. no separate feature request.