-
-
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
Users should be able to choose whether reminders are generated for events in the birthday calendar #1505
Comments
Well you can also just not sync that birthday calendar, to get rid of the events? |
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. |
@jancborchardt can we have your input here? |
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 owncloud/core#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.) |
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. |
Yeah, that's why the issue is still open ;) |
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? |
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. |
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) We could use something similar for the birthday calendar though. |
@jancborchardt so where should we put this setting? Personal page? Contacts app? Calendar app? |
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.) |
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:
(This select will only influence the birthday calendar, having default alarms for ordinary events is a completely different topic) |
@georgehrke sounds good! |
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. 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. |
This is what I want:
Works for me. :)
|
Okay :) |
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? ;-) |
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 #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. |
Seems the issue is not mute, as 6903 only concerns shared calendars. |
This issue is still open -> you can't select it yet. |
This comment has been minimized.
This comment has been minimized.
Hi, just run into this issue myself. I was trying to take a look at fixing it but am struggling to work out where the calendar is actually being generated? Is it in the contacts app and if so where? Pointers appreciated. |
@tsvallender Hello, server/apps/dav/lib/CalDAV/BirthdayService.php Lines 291 to 295 in 4475658
My personal opinion would be for this config to be handled in the Groupware user settings alongside availability settings (new in Nextcloud 23), instead of the calendar settings like said above. We could use the setting introduced in nextcloud/calendar#3001 (basic setting for all calendars) as a default, but I would prefer birthday calendars having their own setting. Unrelated: |
@tcitworld Thank you for the help! I'm not a PHP guy but I'm going to set up a dev environment and see how far I can get with this. |
Hi all, I have started working on this issue (related PR: #33251). The next step is adding the configuration option to the UI.
In my opinion, such a setting should be located close to the "Enable birthday calendar" option. So, I would propose one of the following:
I have a slight preference for the option 2.ii. What do you guys think? @tcitworld |
Thanks for your effort! I vote not to implement 2i as this leads to different howtos and users might expect it to be different and need to experiment instead of knowing straight away. I' also vote for 2ii, seems very clean. Also allows for (yet undeveloped) other apps to provide birthday calendar functionality. Only keeping it with the calendar app as in 1 seems wrong as it is a server feature. But there definitely must remain a link or at least an explanation that there is such feature and what may be configured where. |
Suggestion looks good, thanks! |
Just as an additional thought: As it turns out, the reminders are now also sent for regular calendar events, which is annoying if you use CalDav synchronization on your devices. So if there is a way to disable reminders, this should ideally be possible for all different types of reminders. |
Hey all, So I have implemented option 2ii (see #33397 and nextcloud/calendar#4402), hoping to resolve this issue :)
Hmm, I'm not sure, if I understand you correctly. You are probably referring to the feature discussed in nextcloud/calendar#629... But as I see, there is already the option "No reminder", and it's chosen by default... Also, as stated earlier in this thread, reminders for regular events are usually created by the client, so it might be the case, that one of your clients adds these reminders (and you could probably disable them there). |
May all changes be made by just patching / without building? If not, I'll currently only be able to test a (test) release version. |
No, unfortunately, testing the changes in the calendar app requires you to build the calendar app. However, the only changes in the calendar app was the renaming of the link and the removal of the "Enable birthday calendar" checkbox in the settings panel. All the rest should be testable by checking out the feature branch of the server component (for checking the generated birthday events, you can use the latest version of the calendar app). |
Did i unterstand that correctly that the workaround so far is to:
So far i got no errors or strange behavior on the server, caldav sync in outlook and DAVx5 Sync on Android |
It is almost one year since the patch was created by @cneukom. Am I overlooking something here? For the time being, I set the preference via SQL: With (some) possible values like this.
|
I was able to remove the reminder by using the following command with Nextcloud 25: |
Works great even on Nextcloud 28. Be sure to recreate the Birthday calendar (e.g. disable and re-enable it), as existing entries won't be updated. |
The question is, when will the frontend component get the update? |
This does not seem to work with Nextcloud 30.0.0? I re-enabled the birthday calendar after running this, but the reminder is still at 9:00 on every birthday. Edit: Never mind. It still works. Somehow I have to refresh the webpage. |
After using that command and re-enabling, the birthday calendar is a shared calendar from me with myself instead of being a stand-alone on the list with the other calendars. Is that on purpose? |
Just refresh the webpage, and the "shared" label will disappear. |
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.
The text was updated successfully, but these errors were encountered: