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

Allow calendars to be shared without adding the (creator) label to the name. #20945

Open
foozmeat opened this issue May 13, 2020 · 15 comments
Open
Labels
1. to develop Accepted and waiting to be taken care of enhancement feature: caldav Related to CalDAV internals feature: dav feature: sharing good first issue Small tasks with clear documentation about how and in which place you need to fix things in.

Comments

@foozmeat
Copy link

Is your feature request related to a problem? Please describe.
My users have been confused by the naming convention of shared calendars. If I say, create a calendar called Attendance and share it with a group, my users will see a calendar called Attendance (James) in their client. Many users don't understand that the name of the calendar is unique to them because it goes against their experience of shared resources so they don't attempt to rename it for fear that it will affect everyone.

Describe the solution you'd like
I would like the option for the calendar name to be unchanged from what I choose when I share it.

Describe alternatives you've considered
Allowing a "share name" pre-populated with the current behavior but editable by the sharer would be an alternative. This would be a one-time option at the point of creation so it might create confusion for sharers.

@tcitworld tcitworld transferred this issue from nextcloud/calendar May 13, 2020
@tcitworld tcitworld added 0. Needs triage Pending check for reproducibility or if it fits our roadmap feature: dav labels May 13, 2020
@tcitworld
Copy link
Member

The Nextcloud calendar app now shows the avatar of the person that shared the calendar, but most 3rd-party CalDAV apps don't have this kind of behavior anyway, therefore the (Sharer) part was added in #936

I feel like an option would be too much work. What should be worked on is how to tell users the calendar properties can be editable on their side without affecting everyone.

Thoughts @georgehrke?

@georgehrke
Copy link
Member

so they don't attempt to rename it for fear that it will affect everyone.

Properties like color and display name are user-based. It will default to the values of the calendar-owner, but you can just set your own value without affecting other users.

What should be worked on is how to tell users the calendar properties can be editable on their side without affecting everyone.

Hm. I'm not really sure how we should do that. If the calendar is shared with the user viewing it, we could show a tooltip on the "Edit name" and "Edit color" saying "If you rename the calendar, only you can see the new name". But I don't see anything we could do to improve discoverability of that behavior in other clients.

@tcitworld
Copy link
Member

Yeah, that's what I thought as well on the NC Calendar side only.

@foozmeat
Copy link
Author

Let me add that I think the discoverability problem is lessened if the user doesn't feel the need to rename the calendar in the first place. Our previous calendar solution (baikal) didn't support per client calendar names and colors and it was a constant problem where they were unintentionally changed so our users have been trained to fear changing them.

Most users aren't hip to the intricacies of calendar servers so reducing the number of "technical" decisions they have to make is key when convincing people to switch to Nextcloud. If a user who's new to NC suddenly sees Attendance (James) in their calendar list I wouldn't blame them for thinking they were looking at my calendar and be confused. Then I turn around and say "oh just rename it" and they say "can't you change it for everyone?". I don't blame them for thinking this.

Anyway, thanks for responding quickly to my issue, I appreciate it.

@szaimen
Copy link
Contributor

szaimen commented Jun 2, 2021

cc @nextcloud/designers Maybe it should be decided if we just don't append the name by default when sharing a calender because the avatar is already shown by default directly next to the calendar name if it is shared with you. What do you think?

@ghost
Copy link

ghost commented Jul 7, 2021

This issue has been automatically marked as stale because it has not had recent activity and seems to be missing some essential information. It will be closed if no further activity occurs. Thank you for your contributions.

@ghost ghost added the stale Ticket or PR with no recent activity label Jul 7, 2021
@juliusknorr
Copy link
Member

I think it makes sense to hide it, ideally we could of course add it if there is a personal calendar with the same name.

@ghost ghost removed the stale Ticket or PR with no recent activity label Jul 8, 2021
@szaimen szaimen added 1. to develop Accepted and waiting to be taken care of feature: sharing good first issue Small tasks with clear documentation about how and in which place you need to fix things in. and removed 0. Needs triage Pending check for reproducibility or if it fits our roadmap needs info labels Jul 8, 2021
@pjrobertson
Copy link
Contributor

I agree that there should be an option to hide the (user) tag. Perhaps another solution would be to have a checkbox when setting up a calendar called something like "Append username to calendar when sharing". Some pseudo code would then be to just wrap the existing code that appends the (user) tag in something like this:

if (calendar's "append username to calendar when sharing" == true) {
// do existing code that appends (user)
}

@nimishavijay
Copy link
Member

I think it makes sense to hide it too, since the avatar is being shown. Alternatively we could show the name in brackets in a lighter colour.

As a quick fix for the calendar name/colour problem we could add a subline under "Edit name" and "Edit colour" that says "Changes visible to only you" or something to that effect, what do you think?

@tcitworld tcitworld added the feature: caldav Related to CalDAV internals label Dec 17, 2021
@flortsch
Copy link

flortsch commented May 24, 2023

If you know what you are doing, you can work around this issue by inserting values yourself into the database to rename shared calendars (which can be automated for many users).

The information is stored in the oc_properties table. Picking up the example in the first post, the following SQL statement inserts a property, such that it renames an attendance calendar of a user james that is shared with a user john from Attendance (James) to Attendance:

insert into oc_properties (userid, propertypath, propertyname, propertyvalue) values ("john", "calendars/john/attendance_shared_by_james", "{DAV:}displayname", "Attendance");

These properties have to be inserted for all users the calendar is shared with.

@jancborchardt
Copy link
Member

It seems to be a pretty simple fix to just remove the appended name, as previously mentioned? @ChristophWurst

As a step 2, we could only show it on the client-side when there is already a calendar with the same name shared with you – if needed?

@ChristophWurst
Copy link
Member

It's possible to change this, yes. Beware that the sharing state is only obvious for our Calendar app as outlined earlier in #20945 (comment). No other app will allow you to see any difference between your Personal calendar and your coworkers Personal calendar shared with you. They will be indistinguishable on any connected devices. Sharing personal calendar is quite common, we see it with a lot of our colleagues.

@tcitworld
Copy link
Member

tcitworld commented May 25, 2023

For reference, this is related to the #20096 (kinda) mess.

If other players in the CalDAV world would be interesting in persuing https://datatracker.ietf.org/doc/html/draft-pot-caldav-sharing-01 efforts, this wouldn't be an issue.

@ChristophWurst
Copy link
Member

What we can do is keep the current display name so sharing is clear on any connected client but try to detect the format in our Calendar app (calendar has sharing properties and the (sharer) suffix) and remove the suffix or render it differently.

@tcitworld
Copy link
Member

Another possibility, is feasible, is to try to add the display name at a different place than CalDAVBackend.php (through a Sabre plugin), then add it only on clients that do not provide some X-NC-Calendar header.

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 feature: caldav Related to CalDAV internals feature: dav feature: sharing good first issue Small tasks with clear documentation about how and in which place you need to fix things in.
Projects
None yet
Development

No branches or pull requests

10 participants