Open beccon4 opened 1 year ago
I'd like to sync also the external events into my mobile devices using e.g.DAVx5. For that matter external calendars should appear in the list of exported calendars too.
DAVx⁵ already allows to sync subscriptions (you can find them in the Webcal tab). You just need ICSx⁵ installed as well for the sync to happen. Sadly it's the only CalDAV client that I know of that does things properly.
https://github.com/nextcloud/calendar/issues/5286#issue-1739261977
Please note that https://stackoverflow.com/a/30053513/9731176 also describes well why this is desirable:
In iCoHTTP you usually store a whole calendar under one URL, like 'https://yahoo.com/sports/nba/schedule-2015.ics' (or webCal:). This URL represents a full calendar and is almost always read-only (you can't do a PUT to this URL). Why is that? Because to add/change/delete a single event in such a calendar, you would need to re-transfer the full calendar. In CalDAV a calendar is a WebDAV collection, there is one URL which represents the calendar, e.g.: 'https://icloud.com/calendars/joe/home/' and then you have one child URL for each event. Like 'https://icloud.com/calendars/joe/home/buy-beer.ics', 'https://icloud.com/calendars/joe/home/family-meeting.ics' and so on. You can then just DELETE, PUT etc individual items of such a collection. In summary: If you simply want to publish a calendar which rarely changes and is managed by other means (like a CMS), you can use iCal-over-HTTP. If you want to provide a calendar which the user (or maybe a group of people) can change from within their calendar client, you want to use CalDAV.
This is confusing : the exposed CalDAV subscriptions are read-only in our case, there's no benefit as per the quote says.
However there's benefit in using the CalDAV sync-token (acts like an ETag) to avoid re-downloading the calendar if nothing changed. Subscriptions may have something similar using the Sync-Token header from draft-ietf-calext-subscription-upgrade-08
, but nothing supports that yet.
In any case, that just moves the issue of refreshing the whole calendar on the server instead of the client, and until more sources support X-PUBLISHED-TTL
or REFRESH-INTERVAL
properties, it's usually a waste of resources.
It would so much love the reexport. If you have a bunch of calendars, you want to have one place to manage all your subscriptions. Maybe an artificial feed that combines all feeds that are marked for reexport.
Nextcloud can already be that kind of place to manage all subscriptions, but the only client that I know of discovering CalDAV subscriptions (not Nextcloud's cached calendars) at the moment is DAVx⁵ (in the Webcal tab).
They talked recently of having the subscription feature directly into DAVx⁵ instead of managed in ICSx⁵ https://fosstodon.org/@davx5app/111210536789015286
@tcitworld awesome. I just found out, that thunderbird with tbsync and dav-4-tbsync work just fine. Showed all my subscriptions and seems to sync nicely.
It's worth noting that sometimes nextcloud syncs subscriptions from an internal URL for it's calendar but i may want my phone to be able to also have that calendar (which nextcloud knows about and shows events for). ICSx5/WebDAV will not work for this because the webdav link isn't to nextcloud it's to the internal URL. My phone can access nextcloud, but NOT this internal URL.
This enhancement (making nextcloud re-serve the subscriptions as caldav) would be extremely beneficial for these cases.
TLDR: I have an internal LAN service that i have my nextcloud calendar subscribe to but my nextcloud instance is externally accessible. I want to be able to sync those events from my phone (even when not on LAN)
Is your feature request related to a problem? Please describe.
I've subscribed to a slew of external calendars from organisations I'm dealing with. Most are for information purposes only i.e. I'd like to have the appointments from their calendars in mine to be able to coordinate my schedule. The Nextcloud calendar app shows remote iCal calendars but cannot sync them to mobile devices using CalDAV. I would have to configure them there again which is tedious and prone to error.
Describe the solution you'd like
I'd like to sync also the external events into my mobile devices using e.g.DAVx5. For that matter external calendars should appear in the list of exported calendars too.
Describe alternatives you've considered
Configuring the external calendars on the mobile - but they are a) many and b) fluctuate
Additional context
No response