-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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 to have multiple links per public calendar #20214
Conversation
Adding a public link is still the old way: ```xml <o:publish-calendar xmlns:o="http://calendarserver.org/ns/"/> ``` Removing all public links is just like we used to unpublish ```xml <o:unpublish-calendar xmlns:o="http://calendarserver.org/ns/"/> ``` We now have the following for unpublishing a specific link ```xml <o:unpublish-calendar xmlns:o="http://nextcloud.com/ns/">urltounpublish</o:unpublish-calendar> ``` The public URLs are exposed this way: ```xml <x1:publish-urls xmlns:d="DAV:" xmlns:x1="http://nextcloud.com/ns/"> <d:href>urltopublish</d:href> <d:href>secondurltopublish</d:href> </x1:publish-urls> ``` `publish-url` is still available and give the first URL ```xml <x1:publish-url xmlns:d="DAV:" xmlns:x1="http://calendarserver.org/ns/"> <d:href>urltopublish</d:href> </x1:publish-url> ``` Signed-off-by: Thomas Citharel <[email protected]>
I actually had something slightly different in mind:
Our current response for ordinary shares looks like this: <?xml version="1.0" encoding="utf-8" ?>
<D:multistatus xmlns:D="DAV:" xmlns:oc="http://owncloud.org/ns">
<D:response>
<D:href>/foo</D:href>
<D:propstat>
<D:prop>
<oc:invite>
<oc:user>
<D:href>principal:principals/users/admin</D:href>
<oc:common-name>John Doe</oc:common-name>
<oc:invite-accepted/>
<oc:access>
<oc:read-write/>
</oc:access>
</oc:user>
</oc:invite>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
</D:multistatus> What i had in mind was something like this: <?xml version="1.0" encoding="utf-8" ?>
<D:multistatus xmlns:D="DAV:" xmlns:oc="http://owncloud.org/ns">
<D:response>
<D:href>/foo</D:href>
<D:propstat>
<D:prop>
<oc:invite>
<oc:user>
<D:href>principal:principals/users/admin</D:href>
<oc:common-name>John Doe</oc:common-name>
<oc:invite-accepted/>
<oc:access>
<oc:read-write/>
</oc:access>
</oc:user>
<nc:public>
<d:href>urltopublish</d:href>
<nc:label>Label for this read-only link</nc:label>
<nc:expiry-date> 20201003T000000Z</nc:expiry-date>
<oc:access>
<oc:read/>
</oc:access>
</nc:public>
<nc:public>
<d:href>urltopublish2</d:href>
<nc:label>Label for this read-write link</nc:label>
<oc:access>
<oc:read-write/>
</oc:access>
</nc:public>
<nc:public>
<d:href>urltopublish3</d:href>
<nc:label>Label for this read-only with busy link</nc:label>
<oc:access>
<oc:read/>
<nc:busy-only/>
</oc:access>
</nc:public>
</oc:invite>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
</D:multistatus> @tcitworld Does that make sense? :) EDIT: Similar to |
Thanks for clarification ! Definitely makes sense. Would the public link elements be managed through |
Also |
Yes, with the exception of creating new published calendars. (because for using For sharing a public link via email or federated shares, we would be using something like
Yes, looking at the RFC, we should be using What should |
However we can't discover the public calendars collection, right? So the |
I think in that case I would still like to stick to <nc:public>
<d:href>nc-public-token:token123</d:href>
<nc:public-caldav-endpoint>
<d:href>http://example.com/remote.php/dav/public-calendars/token123</href>
</nc:public-caldav-endpoint>
...
</nc:public> |
Moved to Nc 20 milestone, since we are past feature freeze |
Off-topic: |
@georgehrke We seem to miss the next feature freeze as well. Sorry @tcitworld :/ |
and we are in beta again 😭 |
How is the status on this? The next feature freeze seems to be tomorrow |
As per the labels, still being developed. |
Hey Thomas! Many conflicts and outdated history... 🙈 |
Closing this pull request due to lack of recent activity and updates. We appreciate your contribution and encourage you to reopen or provide further updates if necessary. |
Needed for #20096
'\OCA\DAV\CalDAV\CalDavBackend::publishCalendar'
eventsAdding a public link is still the old way:
Removing all public links is just like we used to unpublish
We now have the following for unpublishing a specific link (we can change
nc:unpublish-calendar
to something else).The public URLs are exposed this way:
publish-url
is still available and gives the first URLNote : not sure if the collection of public calendars should contain unique calendars or one calendar per public link. Need help here @georgehrke.