nextcloud / calendar

📆 Calendar app for Nextcloud
https://apps.nextcloud.com/apps/calendar
GNU Affero General Public License v3.0
989 stars 240 forks source link

Make birthday calendar shareable #1307

Open UserXH726 opened 5 years ago

UserXH726 commented 5 years ago

I'm not sure this is a missing feature or a bug...

I want to share the automatically generated birthday calendar without sharing the address book. But there is no option???

Steps to reproduce

  1. Create a birthday value in a contact in Contacts App
  2. An automatically created birthday calendar will appear in the calendar app.
  3. Try to share the calendar the known way you share normal calendars.

Nextcloud

NC 15.0.5 Calendar 1.6.4 Contacts 3.0.5


Edited by @georgehrke: This should also include publishing

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/75220849-make-birthday-calendar-shareable?utm_campaign=plugin&utm_content=tracker%2F45525646&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F45525646&utm_medium=issues&utm_source=github).
MorrisJobke commented 5 years ago

cc @georgehrke

stale[bot] commented 5 years ago

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

georgehrke commented 5 years ago

as far as i know the calendar is already shareable but it just misses a sharing button in the calendar.

jangop commented 5 years ago

as far as i know the calendar is already shareable but it just misses a sharing button in the calendar.

If by “is already shareable” you mean that the automatically generated birthday calendar can already be accessed without authentication, could you explain how?

georgehrke commented 5 years ago

In theory it should be possible by sending a special CalDAV request ...

curl 'http://nextcloud.local/remote.php/dav/calendars/<username>/<calendaruri>' -H 'Depth: 0' --data-binary '<x4:publish-calendar xmlns:x4="http://calendarserver.org/ns/"/>' 

(You obviously need to include authentication headers ;))

jangop commented 5 years ago

Don't authentication headers contradict the ”without authentication“ part?

georgehrke commented 5 years ago

You have to send that request to publish the calendar, afterwards you will be able to access it via it's publicURI

georgehrke commented 4 years ago

This will require changes in the server, because birthday calendars are not shareable by default at the moment. We are past feature freeze for 19, so this will have to wait for 20.

georgehrke commented 4 years ago

I added this to our overview ticket: https://github.com/nextcloud/server/issues/20096

tdoerschel commented 2 years ago

Hi, I am not sure if this is related to here, so please tell me if I should open a new issue: We use a shared address book (owned by a generic account). Only the Birthday Calendar of the generic account shows the contact's birthdays.

-> the birthday calendar does not included contacts from shared address books. That would be ok IF I could share the "generic account's" birthday calendar. But I cannot.

As far as I can see there is no way to display Birthdays from a shared address book. I believe it was working in the past somehow, but I missed the point when or how it stopped working. (Just happened that today is 2 out of 6 peoples birthday :-)

bemyak commented 2 months ago

I've tried sharing the contact_birthdays calendar as was suggested by @georgehrke, but it always gives me:

<?xml version="1.0" encoding="utf-8"?>
<d:error 
  xmlns:d="DAV:" 
  xmlns:s="http://sabredav.org/ns">
  <s:exception>Sabre\DAV\Exception\Forbidden</s:exception>
  <s:message>Access denied</s:message>
</d:error>

I don't get the same error with other calendars.