Share a whole calendar with "See only free/busy (hide details)" option
Is your feature request related to a problem? Please describe.
Being 100% telework, and telework allowing a certain flexibility with private life, I sometimes have personal constraints (appointments, travel, etc.). During these time slots, I would like people to know that I am not available, but how can I do it? Share my personal calendar and mark each event whose details I do not want to be visible? No, it's too tedious. Duplicate personal events to my professional calendar and indicate "not there" or "busy". I do it, but it's tedious, especially since sometimes I forget to do it.
Describe the solution you'd like
Currently, unless I missed a feature, if I want an event to be visible to another person without displaying its details, I have to specify it event by event (event visibility option), but this cannot be done by default retroactively and for any new event (directly applied to the entire calendar, in the sharing option).
Many years ago (maybe 10), when I was still using "Google Calendar" (sorry to say that, it's blasphemy), I saw that it was possible to share a calendar with another account by specifying "See only free/busy (hide details)".
This is IMO very useful ā for example ā for associates who share their professional calendar and their personal calendar. The professional calendar remains fully visible (all details), while the personal calendar simply indicates occupied time slots with a free or busy information. This avoids collisions when making appointments and allows the respect of the privacy of others.
Describe alternatives you've considered
No response
Additional context
No response
@nextcloud/designers
The property for CalDAV exists: https://datatracker.ietf.org/doc/html/rfc4791#section-6.1.1
CALDAV:read-free-busy PrivilegeCalendar users often wish to allow other users to see their busy time information, without viewing the other details of the calendar components (e.g., location, summary, attendees). This allows a significant amount of privacy while still allowing other users to schedule meetings at times when the user is likely to be free.
So this should be feasible. We could add it in the calendar modal just like we did for https://github.com/nextcloud/calendar/pull/6169
Suggestion:
The property for CalDAV exists: https://datatracker.ietf.org/doc/html/rfc4791#section-6.1.1
CALDAV:read-free-busy Privilege Calendar users often wish to allow other users to see their busy time information, without viewing the other details of the calendar components (e.g., location, summary, attendees). This allows a significant amount of privacy while still allowing other users to schedule meetings at times when the user is likely to be free.
So this should be feasible. We could add it in the calendar modal just like we did for #6169
Suggestion:
Nice !
Agree @miaulalalaās suggestion is nice! :) Only 1 adjustment, the wording should be "Donāt show event details to others", as we want to remove the wording "users".
@jancborchardt may we add the "to develop" tag ?
Attempting to understand here, as I'm looking for more or less the same feature. As I understand Nextcloud Calendar and your use case, your colleagues could use the 'find a time' feature when inviting you to events. If you have a personal calendar (that you're the owner of) and put events in there, you're automatically marked as busy during those hours. When people then try to book a meeting with you and they click the 'find a time' button, they can see the availability of everyone who's invited to this meeting.
If colleagues still use Google or whatever for their personal calendar, they can import that calendar read-only into Nextcloud (the full version, not even the free/busy version) and that will mark them busy/free for the Find A Time feature.
I think it would be more flexible to have this as an option on the sharing link. This way I can create different sharing links for use-cases I want to share details of my calendar and for cases I only want to provide free/busy information to external users.
I have the use case that I working in multiple businesses and need to keep my availability up-to-date within each business. But I don't want to share calendar details between the businesses.
I'd also like to have an option on the share link to select the "maximum information" shared. It would "dynamically" set the visibility to the minimum of the event and the share option. (a hidden event would stay hidden, a busy only would always only be shown as busy only but a normal event changes depending on the selected option.)
Like replace the checkbox "can edit" with an drop down menu:
- Full Access
- View only
- Busy only
Personally I'd like an additional option "Titel only" where the title is visible but not the details but that would probably too much additional logic since it is something currently not existing.
Hi @miaulalala @jancborchardt, any news ?
I have a similar use case. Perhaps if I explain it, it will be easier for others to understand why granularity is useful here.
I have private calendars on my Nextcloud and I have work calendars on Google.
To make sure I donāt set a private event when I have a work meeting (and vice versa), I have already imported into my private Nextcloud the WebCal (https://*.ics) link of my work Google calendar, that only shows the events as ābusyā.
But it would be great to do the same the other way around too!
What I would use a ābusy onlyā private Nextcloud calendar for is:
- import it into my work Google Calendar, so I can avoid setting up work meetings when Iāve got private plans already
- send the link to my coworkers (esp. boss), so they know when Iām busy outside of work too
On the other hand, I would still like to be able to share my private Nextcloud calendar with my family ā details and all.
Just out of curiosity (as I think sharing to yourself does not really require this feature):
If both calendars are "yours" why do you share them to yourself in "busy only" view? Restrictions from your employer or personal preference? You could just embed the work calendar in Nextcloud (or other way round) and edit/add everything from one interface. Just asking because personally I prefer to use a client (Thunderbird/aCalender/Evolution/... whatever you prefer) and embed all calendars into it. Therefore I do not have to switch between providers/interfaces which all have different ways of interacting.
To me the feature of sharing a calendar with different permissions only makes sense when sharing my calendars to others š Never thought I would want to hide anything from myself...
@q-wertz , in general I understand your logic and that is what I currently do on the work computer, but thereās a few reasons:
- I work remotely, so my schedule is flexible ā for good and bad ā when Iām not on my work computer I really donāt want to be reminded of things that I need to be working on. A simple ābusyā with the work colour is more then enough.
- in theory, at work we should keep as little as possible on our actual devices, so in theory the preferred way would be to import my private calendar into Google Calendar ā and I donāt want Google to have access to my private calendar
- on all our work devices we have āadvanced antivirusā / āAI-powered monitoringā set up for security reasons, so I donāt feel super private there either
@silverhook ah thanks :) Totally understand your reasons :)
Just wanted to bump this, would be a really great enhancement for 'blocker-view' without having to use the scheduling tool (as this is not really used at my workplace anyways..)! Don't know the exact pipeline/process how this might be implemented/escalated, but I could also imagine participating in that if that would help
I've thrown together a PR - not sure, if this covers all necessary functionality, but I thought this might be a starting point! Happy to get ideas/comments/whatever comes to mind! :)
I've thrown together a PR - not sure, if this covers all necessary functionality, but I thought this might be a starting point! Happy to get ideas/comments/whatever comes to mind! :)
Sadly, my try at fixing this did not go far - mainly since the referenced CalDAV property (https://github.com/nextcloud/calendar/issues/6247#issuecomment-2286749376) does not seem to do what I/we hoped it could do for fixing the problem discussed in this issue. The PR might implement this different setting at some point, but isn't an option for this issue.
https://github.com/nextcloud/calendar/pull/7556#issuecomment-3441801148
I'll try to give this another shot at some point, that might include a custom new property in the calendar object, iterating over all events in the calendar and setting the (existing) toggle for each individual event programatically and check for the calendar-wide property at event-generation-time to set this toggle by default for such a calendar, but I don't know how easy/feasible that will be (maybe @SebastianKrupinski can give insight on this). If anyone else feels more at-home in the codebase (or with vue/webdev in general ^^), feel free to take over, of course, I can't say/guarantee, if/when I'll get to that..
Sorry for getting your hopes up, I guess I underestimated the issue :/
