Skip to content

Conversation

@tcitworld
Copy link
Member

@tcitworld tcitworld commented May 23, 2025

Summary

The CLASS:PRIVATE and CLASS:CONFIDENTIAL apply to events shared (with other people or groups, internally) as well as published ones (which are public for everyone with the link). This can be troublesome, as some events shouldn't be publicly visible in the published calendar, either not at all or just handled as confidential (only timeranges shown)¹.

This adds two new custom CLASS values: X-NEXTCLOUD-CLASS-PUBLISHED-PRIVATE and X-NEXTCLOUD-CLASS-PUBLISHED-CONFIDENTIAL, which work the same as the standard values, but only when they are published into a public calendar.

Therefore, you can set an event to be public (fully visible) for people who you shared internally the event's calendar, but private when the calendar is published.

This is the part on the server, part in the calendar front-end and libraries is yet to be written and designed.

¹ I also plan to work on a "confidential calendar publish mode", where only timeranges of events are shown.

Checklist

@tcitworld tcitworld added this to the Nextcloud 32 milestone May 23, 2025
@tcitworld tcitworld requested a review from ChristophWurst May 23, 2025 09:37
@tcitworld tcitworld added 3. to review Waiting for reviews feature: caldav Related to CalDAV internals labels May 23, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Jun 7, 2025

Hello there,
Thank you so much for taking the time and effort to create a pull request to our Nextcloud project.

We hope that the review process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR review process.

Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6

Thank you for contributing to Nextcloud and we hope to hear from you soon!

(If you believe you should not receive this message, you can add yourself to the blocklist.)

…ndars

The CLASS:PRIVATE and CLASS:CONFIDENTIAL apply to events shared as well as published ones. This adds
two new custom CLASS values: X-NEXTCLOUD-CLASS-PUBLISHED-PRIVATE and
X-NEXTCLOUD-CLASS-PUBLISHED-CONFIDENTIAL, which work the same as the standard values, but only when
they are published into a public calendar. Therefore, you can set an event to be public (fully
visible) for people who you shared internally the event's calendar, but private when the calendar
is published.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
@SebastianKrupinski SebastianKrupinski force-pushed the introduce-publish-classification-levels branch from 0228080 to e401fe5 Compare July 4, 2025 14:31
@SebastianKrupinski
Copy link
Contributor

Re-based to bring it up to date, to test it with the most recent changes.

@SebastianKrupinski
Copy link
Contributor

SebastianKrupinski commented Jul 4, 2025

Hi @tcitworld,

Thank you for your contribution and effort in creating this PR.

So I tested this PR, and yes it correctly shows the event differently for internal and external users.

My main concern would be that i think is this should be a custom property and not a custom value. The main reason is the RFC specification for unknown values...

"Applications MUST treat x-name and iana-token values they don't recognize the same way as they would the PRIVATE value."

This essentially would make the events disappear on some if not all dav clients.

This was referenced Aug 22, 2025
This was referenced Sep 2, 2025
This was referenced Sep 25, 2025
@skjnldsv skjnldsv modified the milestones: Nextcloud 32, Nextcloud 33 Sep 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3. to review Waiting for reviews feature: caldav Related to CalDAV internals feedback-requested

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants