-
Notifications
You must be signed in to change notification settings - Fork 277
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrate with Nextcloud CalDAV API [$185] #15
Comments
as sharing the cards is essential, a log of changes to Activitieswould be nice. |
Would it be possible to have a common due date that is linked with the calendar as a shared event between multiple cards as a "milestone" with its own colored label displayed on the card? I.e. some sort of way to link labels to CalDav events? |
Another possible integration would be to link cards to CalDAV task categories, so that if a user creates a new CalDAV task in an external application (lets say OpenTasks on Android) and chooses the right category for it, Deck automatically uses the name of that category to sort it to the card with the same name. |
I thought a lot about how to integrate with the Nextcloud WebDAV/CalDAV/CardDAV interfaces, it will be not as simple as i initially thought. I'll take some time next week to write up what i had in mind and publish some kind of roadmap. 😉 |
If subtasks become a thing in Deck, it can easily compete with whatever kanban system out there. Keeping the syncing with Tasks optional would be great imo. Perhaps a functionality to make multiple decks if that is possible? |
It is a reasonable idea, but it belongs to the notifications part of Nextcloud, not to Deck.
Reinventing the bug tracker? They're supposed to complement, not duplicate each other. You can probably do this already via webhooks from your bug tracker anyway. |
@9662: Regarding the second: no, what have milestone dates to do with a bug-tacker? I think it is worth to have common event linked date labels on the cards so that it is quickly visible to the users what kind of common deadlines might be related to which cards. |
nextcloud/server#2829 will allow apps to register custom sabre plugins, if this is in we could create our own CalDAV endpoint at /dav/deck that will allow users to subscribe to within their calendar apps. Here is a short summary of what I planned for that endpoint:
@poVoq That should be possible with the above solution.
@poVoq This is a far more advanced feature. Let's just focus on the basics for now.
@simonpostm That should not be a problem, if there will be a dedicated dav endpoint for the deck app.
@simonpostma Not sure if I understand that correctly. Can you describe that a bit more?
👍 Hope I didn't forgot to comment on something. 😉 |
I uninstalled Deck because i need my kanban to have more features at this point in time (cant wait for the next update so i can drop my current Kanban service and start using Deck :D), hasty as i was i didn't remember that Deck already has the feature to make multiple boards. Sorry for that. |
Is there any ETA on the next update? Not trying to pressure you, just can't wait to exchange kanbanflow with Deck |
Sorry for the delay, I've been quite busy this week. It is on my list for the upcoming week. |
It's clear you're very busy. Do take your time! I'll be looking to donate some to you after it's released. |
I think we should explore more how deck and tasks can be integrated? I think it could result in some really valuable features. |
Any update on the CalDAV tasks and calendar integrations? |
Would a Deck webdav endpoint be automatically added to the Calendar/Tasks app or do users have to manually add them? |
I've just updated the PR to nextcloud/server#6835 to get this moving again.
The only issue I see after digging a bit into the sabredav/Nextcloud dav code is, that we cannot easily add the boards to the list of a users calendars. Maybe we need some API for that on the server side. Without that you would need to add it manually. |
I took some time to dig into the Nextcloud dav app. Here are some notes about the planned implementation. Feedback is very welcome. Implementation
Mapping VTODO -> Card
Open issues to discusscalendar-home-setCalendar collections cannot be added to the principals calendar-home-set. Maybe we need to extend Nextclouds CalendarHome::getChildren so apps can add their own entries to the home collection Stack representationSince nested calendar collections are not possible (something like deck-1/stack-1/card-1.ics) are not possible, we still need to figure out how we can represent the current stack in the caldav representation:
|
First of all: thanks for your work Julius! I love Deck. Regarding stack representation: |
Hmm... while not perfect, it might be doable to represent stacks via the priority value as usually the stacks are related to some sort of todo, backlog etc. system that is similar to priorities. |
@poVoq That could be a solution, either that or maybe we abuse the LOCATION field which is a string value so we could at least show the stacks name. |
This comment has been minimized.
This comment has been minimized.
Thanks to everyone for continuing the development, we've just made a contribution via Bountysource supporting Deck&Calendar integration! |
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. |
Will wait for it to send a bounty, then. thanks |
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): dmfs/opentasks#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 😏 |
Moved out #2399 for the write support so we have an individual ticket to track this. |
Didn't find this in the discussions and not sure if it is worth an issue. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Closing this as the first integration part is done and we will track write access in #2399 |
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. |
@devvv4ever Create a feature request? |
@HLFH See #2399 (comment), it's an implementation detail of this partially implemented feature, i.e. no separate feature request. |
This issue is about integrating deck with Nextclouds CalDAV API.
Current plan from the discussion below:
VCALENDAR
VTODO
withoutRELATED-TO
propertyVTODO
withRELATED-TO
(UUID of the Root-Task / Stack)CATEGORIES
or custom implementation (Nextcloud tagging system)CATEGORIES
, integration with Nextcloud tags would be better, see nextcloud/tasks#89ATTENDEE
or custom implementationATTENDEE
or custom implementation, see nextcloud/tasks#72RRULE
ATTACH
or custom implementationATTACH
or custom implementation, see nextcloud/tasks#91The text was updated successfully, but these errors were encountered: