nextcloud / nextcloud/tasks

[Enhancement] Allow ⪆ `31.0.10` to act as a CalDAV client.

Open
#2,972 0 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
JavaScript
Stars
706
Forks
117
Avg merge
8h 50m
Merged PRs (30d)
18

Description

What Problems This Relates To

I've two relevant desires:

  1. When I add NextCloud as a source in an external synchronisation service — utilise davx5-ose as an applicable example — I want external CalDAV sources, added via Tasks' GUI, to be available.

  2. I want to be able to access external CalDAV sources in Tasks' GUI.

One might consider davx5-ose to solve this. However:

  1. It requires an external synchronisation service (of which NC and SyncThing are examples) to synchronise its preferences. However, even that basic form of synchronisation requires periodic manual exportation and importation, which is brittle. NextCloud does not suffer from this.

  2. It's not available outside of AOSP.

  3. Utilising an external client renders NextCloud a purely backend service, which likely isn't what NC desires for its Tasks application.

Despite this, I don’t see any way to add an external CalDAV source to enumerate tasks from, like one can for iCal sources in Calendar. (Although Calendar accepts URIs to CalDAV sources, that appears to be erroneous.)

Desired Solutions

Implement a two-way equivalent to Calendar's one-way iCal subscription GUI, but for CalDAv sources.

Considered Alternatives

Utilise an external client, of which tasks/tasks is an example, with an external synchronisation service, of which davx5-ose is the best example. However, consider its (aforestated) comparative disadvantage.

Additional Context

Originally discussed at help.nextcloud.com/t/234881/4.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the Calendar iCal subscription GUI and the corresponding Tasks GUI flow for adding external sources. Define how external CalDAV sources should be added, enumerated, and synchronized in both directions, then verify the resulting behavior against the requested Nextcloud and external-source use cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
api, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.