Skip to content
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

Enable external calendar read-write. #2766

Open
smallandsimple opened this issue Dec 27, 2020 · 27 comments
Open

Enable external calendar read-write. #2766

smallandsimple opened this issue Dec 27, 2020 · 27 comments
Labels
1. to develop Accepted and waiting to be taken care of enhancement New feature request feature: caldav Feature: Sharing needs research

Comments

@smallandsimple
Copy link

Is your feature request related to a problem? Please describe.
It is frustrating that external calendars can only be added for viewing. For my use case, that functionality limitation impedes my family's entire ability to use the Nextcloud Calendar app

Describe the solution you'd like
I would like to see an option implemented to add external calendars via a link that will enable calendar synchronization with an external CalDAV server. This would extend the functionality of the NextCloud app as a true one-stop-shop calendar where a user could both create and have full access to any calendars they need, including existing calendars from other services.

Describe alternatives you've considered
Honestly, I can't think of any alternatives that would provide the needed functionality. I have already attempted using various third party applications and displaying them as 'external sites', however, so far, none provide the type of functionality that such a feature would enable if added to the Nextcloud Calendar. Aside from that, using the external sites requires an additional login, where added functionality could maintain saved credentials.

Additional context
Here is an idea of what it might look like in the interface:
image

@smallandsimple smallandsimple added 0. to triage Pending approval or rejection enhancement-proposed labels Dec 27, 2020
@smallandsimple smallandsimple changed the title Enable external CalDAV calendar read-write. Enable external calendar read-write. Dec 27, 2020
@dagguh
Copy link

dagguh commented Sep 8, 2021

This is an important step when gradually de-Googling your personal life, family, friends and work.

@silopolis
Copy link

That'd surely be a major enhancement !

@miguelarios
Copy link

Yes! I want Nextcloud to be my calendar client just as it can be my mail client.

@ant0nwax
Copy link

ant0nwax commented Feb 23, 2022

I vote +1 if I may vote here, otherwise I would not be able to use nextcloud easily for mail AND appointments AND accept them

a calendar nowadays runs on the same system like the mail system imho

i will anyway make tries to use the internal nextcloud calendar instead of the one which is running and paired with the mail system inbox

@rasos
Copy link

rasos commented Mar 13, 2022

SabreDAV also has a php library for a WebDAV/CalDAV/DardDAV client. This may be a starting point for nextcloud acting not only as a CalDAV server, but also as a client, even if the code on github seems quite outdated.

Their more actual serializers and deserializers also can be used both for the client and server use-cases. For example:
https://github.com/sabre-io/dav/blob/master/lib/DAV/Xml/Response/MultiStatus.php

@rasos
Copy link

rasos commented Nov 4, 2022

We might try to re-use parts of the Calcom's CalDav server code https://github.com/calcom/cal.com

Cal.com is a service for appointments handling and can play the client role for several calendar services.

calcomServers

Cal.com code is GPLv3 and uses:

Code to handle CalDAV calendar is in calcom/packages/app-store/caldavcalendar and in calcom/packages/lib/CalendarService.ts

@tcitworld
Copy link
Member

That's not especially helpful, but thanks anyway.

The Sabre DAV client is already used at Nextcloud for pretty much the same things with WebDAV (basis of the federation feature) and the address book sync. It will have to get extended before anyway to support the REPORT WebDAV method.

As this issue is a required basis for Calendar sharing federation nextcloud/server#1440, I'm starting to look at it more closely, but there's really a lot to do. :)

@rasos
Copy link

rasos commented Jan 25, 2023

The tsdav library might be another candidate to fetch calendar events via CalDav into nextcloud. Has been tested with various cloud providers.

@battosai30
Copy link

+1 for this feature.

@moovinghead
Copy link

+1 for this feature from me as well

@mschilli87
Copy link

My current workaround is to run vdirsyncer via chron on the same server I am hosting my Nextcloud instance on to syncronize the remote calendar with a local copy of that calendar. Then, on all my devices I just sync all my Nextcloud calendars pushing and pulling changes to the remote calendar via its local copy. It takes a bit more work to setup properly and depending on the remote calendar might require an addional account for write access but at least I get read/write access to shared calendars via Nextcloud and khal. Just figured I share my approach in case it was useful for anyone else while waiting for this feature.

@ant0nwax
Copy link

ant0nwax commented Mar 19, 2023

Thanks for sharing, would it be a big thing if I request a draw.io diagram of your calendar setup? From the lines until now I hardly can imagine how many calendars are involved here for one account. And take your time if you are willing to illustrate it. Thank you

@mschilli87
Copy link

@ant0nwax

Thanks for sharing, would it be a big thing if I request a draw.io diagram of your calendar setup?

This is the best I could come up with:

calendars

I hope it helps.

@ant0nwax
Copy link

@mschilli87 I am speechless.... without words
THANK VERY VERY MUCH, this is awesome!
Is the vdirsyncer on github and is it this repo? https://github.com/pimutils/vdirsyncer

@mschilli87
Copy link

@ant0nwax

Is the vdirsyncer on github and is it this repo? https://github.com/pimutils/vdirsyncer

Yes, that's the one. They provide sufficient documentation on how to configure sync jobs with various servers.

@SinghNanak

This comment was marked as off-topic.

@dohlin
Copy link

dohlin commented Mar 26, 2024

@ant0nwax

Thanks for sharing, would it be a big thing if I request a draw.io diagram of your calendar setup?

This is the best I could come up with:

calendars

I hope it helps.

Just wanted to say thank you for this. Took me a little bit to get figured out, and I definitely don't feel like it should be this hard...but this workaround seems to work really, really well. So thanks again!!

@gitwittidbit

This comment was marked as off-topic.

@FFricke

This comment was marked as off-topic.

@xtrails101
Copy link

For me it will be a good solution, if I can add a Calendar (&Contacts) from my OpenExchange to my nextcloud with read/write access. So I have Mail, Calendar & Contacts on OpenExchange but can use it through one interface in combination with my files... on my nextcloud.
Actually only read is supported, maybe my +1 will push this enhancement a little bit ;-)

@alexanderdd
Copy link

can someone triage this? (and remove the label to triage?)

Do I understand correctly that first this needs to be implemented nextcloud/server#1440 and then the feature has to be implemented in calendar, which this issue is for?

@tcitworld
Copy link
Member

tcitworld commented Sep 30, 2024

It's the other way around. Having this feature is required to have nextcloud/server#1440.

@miaulalala miaulalala added 1. to develop Accepted and waiting to be taken care of and removed 0. to triage Pending approval or rejection labels Oct 15, 2024
@ThHirsch
Copy link

ThHirsch commented Nov 7, 2024

+1 I would also like to have a full caldav sync with read/write. So NC can be my primary Interface to handle my email and calendar.

@alexanderdd
Copy link

@ThHirsch please react with 👍 to the first post instead of a comment with +1, this is our way in all Nextcloud repositories (because then we can sort by number of 👍 )

@ThHirsch
Copy link

@alexanderdd Thank you for that info. Just added my 👍 to the first post and wil step back from +1 posts in the future.

@Spacelord09
Copy link

+1 Any updates to this?

@mschilli87

This comment has been minimized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1. to develop Accepted and waiting to be taken care of enhancement New feature request feature: caldav Feature: Sharing needs research
Projects
None yet
Development

No branches or pull requests