server icon indicating copy to clipboard operation
server copied to clipboard

Users should be able to choose whether reminders are generated for events in the birthday calendar

Open nursoda opened this issue 8 years ago • 61 comments

I'm not sure if it's correct in "server" component - but it does not only affect calendar or contacts, so it's either both - or "server", thus I report it here. Feel free to point me to re-insert it somewhere else.

Steps to reproduce Import a vcf file that contains data that contains birthday data.

Actual behaviour All birthday events in calendar are created with reminder (valarm).

Expected behaviour The admin should be able to set not to create any EVENT for contacts -or- The user should be able to opt not to create any EVENT for imported contacts -or- The admin should be able to set not to create any REMINDER for contacts -or- The user should be able to opt not to create remindes (valarms) while importing (contacts).

Server configuration Debian jessie fully patched, Apache 2.4.10 prefork, PHP 5.6.24, MySQL 5.5.52, Nextcloud 10.0 (stable) freshly installed via Webinstaller.

nursoda avatar Sep 25 '16 13:09 nursoda

Well you can also just not sync that birthday calendar, to get rid of the events?

nickvergessen avatar Sep 27 '16 14:09 nickvergessen

True, thanks!

However, that's not the point, is it? I like to be able to see birthdays on all devices, yet not be reminded.

At least not in the middle of the night ;-) But that's a more general request for enhancement to be able to set a fixed time or time offset for default alarms of all-day events. Which in turn could be a per installation, per account or a per calendar setting.

nursoda avatar Sep 27 '16 14:09 nursoda

@jancborchardt can we have your input here?

nickvergessen avatar Sep 30 '16 09:09 nickvergessen

It's indeed extremely annoying (actually was, see workaround at the end of this comment). I moved from owncloud 9.x to nextcloud 10.0.1 yesterday. I didn't experience this problem before. The reminder pops up every time when the SOGO connector (Thunderbird/Lightning) synchronizes the birthday calendar that is automatically derived from the contacts.

I'm not sure whether this is related to importing contacts, though. I had all my contacts in the database already. So I would rephrase the requirement as "Users should be able to choose whether reminders are generated for events in the birthday calendar".

(To avoid unnecessary searching: the corresponding owncloud issue is https://github.com/owncloud/core/issues/26118. It refers to the Thunderbird problem with read-only calendars https://bugzilla.mozilla.org/show_bug.cgi?id=356002. There I found that I can turn off reminders for a specific calendar in lightning -- wasn't aware of that --, which solved the problem for me.)

mnlipp avatar Oct 23 '16 17:10 mnlipp

Yes, silencing a calendar in a user agent (here: TB) works, but it's the wrong way if you don't want/need reminders at all. Problem is that you need to silence ALL user agents. Using Business Calendar on Android for example, I can switch off the SOUND, but not the notification.

nursoda avatar Oct 23 '16 21:10 nursoda

Yeah, that's why the issue is still open ;)

nickvergessen avatar Oct 24 '16 09:10 nickvergessen

The user should be able to opt not to create remindes (valarms) while importing (contacts).

This seems to be the most sensible course of action. It’s definitely not an admin decision.

@georgehrke @raghunayyar @tcitworld we could have a default reminders setting for each calendar, including subscribed ones like birthdays?

jancborchardt avatar Oct 25 '16 11:10 jancborchardt

I'm not sure if a default setting for each calendar is a good idea. The problem here arises from the special birthday calendar that is generated by the server. And for this generated calendar, it is reasonable to allow the user to control if alarms should be generated along with the dates.

For "ordinary" user maintained calendars it is not the servers job to modify them. It should take and preserve whatever clients send to it. Any different behavior makes things harder to understand.

Of course, I have to admit that if the default setting is to not add alarms to dates without alarms, then the proposed feature would do no harm.

mnlipp avatar Oct 25 '16 11:10 mnlipp

For "ordinary" user maintained calendars it is not the servers job to modify them. It should take and preserve whatever clients send to it. Any different behavior makes things harder to understand.

The server is never ever going to change any events sent by some clients.

There is a CalDAV extension providing some mechanisms for defining default alarms for allDay and timed events (see https://tools.ietf.org/id/draft-daboo-valarm-extensions-01.html#rfc.section.9) This extension actually requires the server to add the default VAlarms, but it's only used by some Apple clients and also not implemented by the CalDAV server nextcloud uses.

We could use something similar for the birthday calendar though. Users will be able to define a custom default reminder and the server will take that choice into account when generating the birthday calendar.

georgehrke avatar Oct 25 '16 11:10 georgehrke

@jancborchardt so where should we put this setting? Personal page? Contacts app? Calendar app?

nickvergessen avatar Oct 25 '16 14:10 nickvergessen

I'd go for the calendar app.

georgehrke avatar Oct 25 '16 14:10 georgehrke

I'd go for the calendar app.

From a user's perspective, I agree. It's the only place where the contact birthday calendar currently appears in the user interface. (And considering the requests to allow modification of color for this calendar just as with the others, it needs an "edit" dialog on the long run anyway.)

mnlipp avatar Oct 25 '16 14:10 mnlipp

Instead of providing default alarms for each calendar, which most clients don't expect anyway, we should simply add a simple select to the calendar settings, that provides the following options:

  • None
  • 9AM on day of birthday
  • 1 day before (9AM)
  • 2 days before (9AM)
  • 1 week before (9AM)

(This select will only influence the birthday calendar, having default alarms for ordinary events is a completely different topic)

georgehrke avatar Oct 25 '16 16:10 georgehrke

@georgehrke sounds good!

jancborchardt avatar Oct 28 '16 00:10 jancborchardt

@georgehrke

(This select will only influence the birthday calendar, having default alarms for ordinary events is a completely different topic)

I would actually want this feature for ordinary calendars. Should I open a new issue or is there one already regarding this?

enoch85 avatar Nov 15 '16 16:11 enoch85

I would actually want this feature for ordinary calendars. Should I open a new issue or is there one already regarding this?

What exact feature do you want? :)

I don't think we will go for a dedicated input for each calendar. But I can very well imagine adding a user-based option for all (non-birthday) calendars. One for all day and one for timed events.

This option should only affect events created in the calendar app though. As said above, the standard for adding alarms on the server is a very uncommon and used only by apple software (to my knowledge). Implementing it might cause very weird behavior in some clients.

georgehrke avatar Nov 15 '16 16:11 georgehrke

This is what I want:

None 9AM on day of birthday 1 day before (9AM) 2 days before (9AM) 1 week before (9AM)

Works for me. :)

But I can very well imagine adding a user-based option for all (non-birthday) calendars.

enoch85 avatar Nov 15 '16 16:11 enoch85

Okay :) Can you please open a feature request in the calendar bug tracker?

georgehrke avatar Nov 15 '16 16:11 georgehrke

Unspecified: What shall happen if one already has birthday events and changes the general setting? Re-Create all birthday calendar alarms?

Anyone willing to set a milestone for this issue? ;-)

nursoda avatar Mar 22 '17 16:03 nursoda

Sidenote in case someone stumbles upon the mute issue also discussed within this bug: Read-only calendars do not contain alarms since NC 13, see https://github.com/nextcloud/server/pull/6903. Mind that e.g. mobile clients cache existing appointments. After I removed and re-connected my account, an event that has an alarm for the "read-only-user" did not have an alarm on my device.

nursoda avatar Dec 19 '17 15:12 nursoda

Seems the issue is not mute, as 6903 only concerns shared calendars. I hope that I'm not seeing something, could you please point me in the right direction on how to get rid of the annoying birthday alarms at midnight?

CNeutron avatar Feb 07 '18 19:02 CNeutron

This issue is still open -> you can't select it yet.

georgehrke avatar Feb 07 '18 20:02 georgehrke

I'm totally for an alarm in a calendar settings. While

None 9AM on day of birthday 1 day before (9AM) 2 days before (9AM) 1 week before (9AM)

Is already good, setting it with more freedom would be better. For example, I have friends which are further away now, and a 1 month alarm let me organize myself and the other friends to make a surprise and be able to reserve a train/plane in advance, etc.

dolanor avatar Feb 22 '18 21:02 dolanor

Hello!

I have nextcloud 14.0.1 running, but didn't manage to find this setting. Where can I set the default reminders for the birthday calender of contact entries or disable them?

andre-spindler avatar Oct 05 '18 01:10 andre-spindler

Hi, it would be cool if this could be added to the next milestone :)

juni-vogt avatar Dec 16 '18 17:12 juni-vogt

@matthias-g Feel free to step in and help implementing this. :)

georgehrke avatar Dec 16 '18 17:12 georgehrke

Ok I can try c:

Am 16. Dezember 2018 18:24:16 MEZ schrieb Georg Ehrke [email protected]:

@matthias-g Feel free to step in and help implementing this. :)

-- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/nextcloud/server/issues/1505#issuecomment-447660476

juni-vogt avatar Dec 16 '18 20:12 juni-vogt

Any news about this issue yet?

I am also very annoyed by those nightly birthday notifications that I can not disable… :slightly_frowning_face:

EarthlingX avatar Jan 28 '20 18:01 EarthlingX

After every upgrade I do: sudo -u www-data sed -i 's#\t$alarm = $vCal#\t/**$alarm = $vCal#g' /var/www/nextcloud/apps/dav/lib/CalDAV/BirthdayService.php sudo -u www-data sed -i 's#$vEvent->add($alarm);#$vEvent->add($alarm);*/#g' /var/www/nextcloud/apps/dav/lib/CalDAV/BirthdayService.php

This comments out the five lines generating the alarms (line 283-287, actually in version 17.0.2.1). That's my workaround for this issue.

franzhartwig avatar Jan 28 '20 21:01 franzhartwig

After every upgrade I do: sudo -u www-data sed -i 's#\t$alarm = $vCal#\t/**$alarm = $vCal#g' /var/www/nextcloud/apps/dav/lib/CalDAV/BirthdayService.php sudo -u www-data sed -i 's#$vEvent->add($alarm);#$vEvent->add($alarm);*/#g' /var/www/nextcloud/apps/dav/lib/CalDAV/BirthdayService.php

This comments out the five lines generating the alarms (line 283-287, actually in version 17.0.2.1). That's my workaround for this issue.

Awesome, thank you very much!

Maybe you can push a commit to make several users happy? :+1:

EarthlingX avatar Jan 28 '20 21:01 EarthlingX