Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

Calendar sharing support? #696

Closed
tonioo opened this issue Aug 28, 2017 · 17 comments
Closed

Calendar sharing support? #696

tonioo opened this issue Aug 28, 2017 · 17 comments
Labels

Comments

@tonioo
Copy link

tonioo commented Aug 28, 2017

According to #596, calendar sharing is not supported.

Is there any plan to add support for this?

@Unrud
Copy link
Collaborator

Unrud commented Aug 28, 2017

Is there any plan to add support for this?

Yes, but #188 (comment)

@Unrud Unrud added the feature label Aug 28, 2017
@tonioo
Copy link
Author

tonioo commented Aug 28, 2017

@Unrud When you talk about "real calendar sharing", do you mean https://www.calconnect.org/resources/7-things-you-should-know-about/calendar-and-contacts-sharing ?

@Unrud
Copy link
Collaborator

Unrud commented Aug 28, 2017

The calendar sharing will be transparent to the client and can be configured in the built-in web interface.
Exclusive VALARM components for every user are not planned.

@djmattyg007
Copy link

I've been looking at the code to see what might be required to implement calendar sharing. From what I can tell, the major hurdle at the moment is that the code relies on navigating a filesystem that maps to the URL paths used by clients, and expects all collections to be inside a folder for the user who created them.

An alternative structure that would lend itself better to calendar sharing could be to get rid of the user folders altogether, and store all collections in a single folder. The owner of a collection would be stored alongside that collection, and each user would also have its own config file that lists which collections it has access to (and whether or not it has read or read/write permissions).

If implemented correctly, it should also allow for alternative storage backends to be implemented. For example, instead of storing files on disk, data could be stored in a database, or AWS S3, or something else entirely.

@Unrud What are your thoughts?

@thenktor
Copy link

thenktor commented Feb 23, 2018

I also need calendar sharing, so thumbs up for this feature request 👍

BTW: Sharing seems to work with symbolic links on the file system. Is there a reason why I should not use it that way?

@kaie
Copy link

kaie commented Nov 30, 2019

Another way to share is to create a separate user account, create a calendar for that shared user, and share the login between all the users that are allowed to access/modify, right?

@pavinjosdev
Copy link

share the login

@kaie Sharing passwords is frowned upon, I did some tests with @thenktor's symlink method and it seems to work fine even when two users are simultaneously editing the same calendar.

@thenktor
Copy link

The symlinking method works for me with two users since my last post. I did not have problems so far.

@Jip-Hop
Copy link

Jip-Hop commented Jan 23, 2022

Does the symlink workaround still work? I'd like to make a calendar to share with my partner. I tried:

ln -s /data/collections/collection-root/user1/4d52f15d-9703-123f-8844-ad7f70af5f48/ /data/collections/collection-root/user2/4d52f15d-9703-123f-8844-ad7f70af5f48/

But the calendar is not showing up when I login as user2.

By the way, I'm using: https://github.com/tomsquest/docker-radicale which uses Radicale v3.1.2.

@donfede
Copy link

donfede commented Jan 27, 2022

Does the symlink workaround still work? I'd like to make a calendar to share with my partner. I tried:

Yes, had recent success using the symlink workaround (radicale 3.0.6-3 from Debian 11; DAVx5 v4.1-ose from fdroid).

First created the shared calendar with one user, then made the symlink on the server, and last ran Refresh calendar list on the second user's phone (DAVx5/ CALDAV tab/ top right three buttons menu).

Sample directory layout to compare:

$ pwd
/var/lib/radicale/collections/collection-root
$ ls -l *
userA:
total 12
drwxrwxrwx 3 radicale radicale 4096 Jan 26 18:21 07d2d2bb-7e94-4efa-a366-51eea0091997
drwxrwxrwx 3 radicale radicale 4096 Jan 24 19:58 731c49da-aad0-44dc-beb0-3ff44d8295f3
drwxrwxrwx 3 radicale radicale 4096 Jan 23 13:30 ed2cef32-d744-4633-b694-c7d0eba34d59

userB:
total 28
lrwxrwxrwx 1 root     root        48 Jan 24 19:31 07d2d2bb-7e94-4efa-a366-51eea0091997 -> ../userA/07d2d2bb-7e94-4efa-a366-51eea0091997
drwxrwxrwx 3 radicale radicale 20480 Jan 25 14:55 675192be-fc0d-4f25-9ba6-c5a7f3a11a3c
drwxrwxrwx 3 radicale radicale  4096 Jan 25 13:46 c3e23fb4-60c7-4cd3-9b5e-18acac18f5ea
$

@Jip-Hop
Copy link

Jip-Hop commented Jan 28, 2022

Thanks @donfede for showing your directory layout. Made me realize I mad the symlink in the wrong way. Should have done it like this:

ln -s /data/collections/collection-root/user1/4d52f15d-9703-123f-8844-ad7f70af5f48 /data/collections/collection-root/user2/
chown -h radicale:radicale /data/collections/collection-root/user2/4d52f15d-9703-123f-8844-ad7f70af5f48

Now the shared calendar shows up and both users can create/delete appointments. 🙂

@juvenalandres
Copy link

Thanks @donfede for showing your directory layout. Made me realize I mad the symlink in the wrong way. Should have done it like this:

ln -s /data/collections/collection-root/user1/4d52f15d-9703-123f-8844-ad7f70af5f48 /data/collections/collection-root/user2/
chown -h radicale:radicale /data/collections/collection-root/user2/4d52f15d-9703-123f-8844-ad7f70af5f48

Now the shared calendar shows up and both users can create/delete appointments. 🙂

I'm trying to share one of my calendars using the https://github.com/tomsquest/docker-radicale image, but with no success. Could your share your docker-compose.yaml please? It might have something to do with user rights, but can't figure out what is missing.

Thanks

@kowabungaboy
Copy link

Thanks @donfede for showing your directory layout. Made me realize I mad the symlink in the wrong way. Should have done it like this:

ln -s /data/collections/collection-root/user1/4d52f15d-9703-123f-8844-ad7f70af5f48 /data/collections/collection-root/user2/
chown -h radicale:radicale /data/collections/collection-root/user2/4d52f15d-9703-123f-8844-ad7f70af5f48

Now the shared calendar shows up and both users can create/delete appointments. 🙂

I'm trying to share one of my calendars using the https://github.com/tomsquest/docker-radicale image, but with no success. Could your share your docker-compose.yaml please? It might have something to do with user rights, but can't figure out what is missing.

Thanks

I managed to do that within the container. For me it was similar to
docker exec -it --user radicale radicale sh
Then you do the same ln commands just with the paths within the container. That should give you broken links on your host machine but in works within the container. Hope it helps, best regards

@BrunoBernardino
Copy link

For someone looking for a "simpler, no-code way", what I've done is create a "shared" user which my wife and I use for the shared calendars and tasks list, and then we have our own users with our "private" ones. We simply connect with the two users, and everything works as expected.

@pbiering
Copy link
Collaborator

pbiering commented Apr 5, 2024

For someone looking for a "simpler, no-code way", what I've done is create a "shared" user which my wife and I use for the shared calendars and tasks list, and then we have our own users with our "private" ones. We simply connect with the two users, and everything works as expected.

This can also be done by softlinking, either one to another or from a "hidden" group directory.

@geomule
Copy link

geomule commented May 25, 2024

Surely calendar sharing has now been implemented? Of course, creating a "family" user would allow sharing calendars but seems overkill to me. It should be as simple as adding a tick box on the web interface to share a calendar and then the other users are listed. I think you can use the "Rights" to tweak calendar sharing but I can't get my head around it.

@pbiering
Copy link
Collaborator

Implementing a "user-friendly" sharing capability requires a bunch of rework in the permission control area and potentially even storage area. This is a bigger task and would require contribution.

@Kozea Kozea locked and limited conversation to collaborators May 28, 2024
@pbiering pbiering converted this issue into discussion #1499 May 28, 2024

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
Projects
None yet
Development

No branches or pull requests